#!/usr/bin/env python3
# -*- encoding: utf-8 -*-
'''
@author: yuejl
@application:
@contact: lewyuejian@163.com
@file: public.py
@time: 2021/10/17 0017 13:02
@desc:
'''
# coding=utf-8

import openpyxl
from openpyxl.worksheet.worksheet import Worksheet
import csv
import pandas
import chardet
import random
from datetime import timedelta, date
import shutil
from collections import OrderedDict
import inspect
import time
from concurrent.futures import ThreadPoolExecutor
from xml.etree import ElementTree as ET
from typing import Union, NoReturn
from pathlib import Path
import os
import zipfile


class Public(object):
    """
    说明：
        提供一些常用功能
        1. read_excel():
            读取Excel单元格数据
        2. write_excel
            写入Excel单元格数据
        3. read_csv():
            读取Csv单元格数据
        4. write_csv()
            写入Csv单元格数据
        5. get_file_coding()
            获取文件的编码格式
    """

    @staticmethod
    def _return_cloumn(ws: Worksheet, p_column: Union[str, int]) -> str:
        """
        :param ws: sheet页 type=openpyxl.worksheet.worksheet.Worksheet
        :param p_column: 列名或列数 type=int or str
        :return: 列数转换为字母形式
        """
        if isinstance(p_column, int):
            return openpyxl.utils.get_column_letter(p_column)  # 数字转换为字母
        elif isinstance(p_column, str):
            row_list = list(map(lambda x: x.value, list(ws[1])))  # 解析第一行
            if row_list.count(p_column) == 1:  # 相同字段名存在的个数
                for index, cell in enumerate(row_list):
                    if cell == p_column:
                        return openpyxl.utils.get_column_letter(index + 1)
            elif row_list.count(p_column) == 0:
                raise ValueError("当前sheet页“%s”不存在字段名为“%s”" % (ws.title, p_column))
            else:
                raise ValueError("当前sheet页“%s”存在多个字段名为“%s”" % (ws.title, p_column))
        else:
            raise TypeError(
                "column参数类型应为int或str类型而不是“%s”，int表示第几列，str表示第一行列字段名"
                % p_column.__class__
            )

    @staticmethod
    def read_excel(path: str, column: int = 1, row: int = 1, sheet: int = 1) -> str:
        """
        读取Excel某一单元格数据
        :param path: Excel路径 type=str
        :param sheet: 第几个sheet页或sheet页名称 type=int or str
        :param row: 行数 type=int
        :param column: 列数或列字段名 type=int or str
        :return: 单元格的值
        """
        # TODO: 有将第一列作为字段名的需求
        if not isinstance(row, int):
            raise TypeError("row参数类型应为int类型而不是“%s”" % row.__class__)
        wb = openpyxl.load_workbook(path)
        if isinstance(sheet, str):
            ws = wb.get_sheet_by_name(sheet)
            column = __class__._return_cloumn(ws=ws, p_column=column)
            return ws[column + str(row)].value
        elif isinstance(sheet, int):
            ws = wb.get_sheet_by_name(wb.sheetnames[sheet - 1])
            column = __class__._return_cloumn(ws=ws, p_column=column)
            return ws[column + str(row)].value
        else:
            raise TypeError(
                "sheet参数类型应为int或str类型而不是“%s”，数字表示为第几个sheet页，字符表示sheet页名称"
                % sheet.__class__
            )

    @staticmethod
    def write_excel(path: str, value: str = "", column: int = 1, row: int = 1, sheet: int = 1) -> NoReturn:
        """
        写入Excel指定单元格数据
        :param path: Excel路径 type=str
        :param sheet: 第几个sheet页或sheet页名称 type=int or str
        :param row: 行数 type=int
        :param column: 列数或列字段名 type=int or str
        :param value: 需要写入的数据 type=str
        """
        if not isinstance(row, int):
            raise TypeError("row参数类型应为int类型而不是“%s”" % row.__class__)
        if not isinstance(value, str):
            raise TypeError("value参数类型应为str类型而不是“%s”" % value.__class__)
        wb = openpyxl.load_workbook(path)
        if isinstance(sheet, str):
            ws = wb.get_sheet_by_name(sheet)
            column = __class__._return_cloumn(ws=ws, p_column=column)
            ws[column + str(row)].value = value
            wb.save(path)
        elif isinstance(sheet, int):
            ws = wb.get_sheet_by_name(wb.sheetnames[sheet - 1])
            column = __class__._return_cloumn(ws=ws, p_column=column)
            ws[column + str(row)].value = value
            wb.save(path)
        else:
            raise TypeError(
                "sheet参数类型应为int或str类型而不是“%s”，数字表示为第几个sheet页，字符表示sheet页名称"
                % sheet.__class__
            )

    @staticmethod
    def read_csv(path: str, column: int = 1, row: int = 1, fields: bool = True) -> str:
        """
        说明：读取csv某一单元格数据
        注意：文件编码建议使用utf-8
        :param path: csv文件路径 type=str
        :param row: 行数 type=int
        :param column: 字段名或列数 type=str or int
        :param fields: csv文件第一行是否是字段
        :return: 单元格值
        """
        # TODO: 有将第一列作为字段名的需求
        if not isinstance(row, int):
            raise TypeError("row参数类型应为int类型而不是“%s”" % row.__class__)
        with open(path, "r", encoding="utf-8") as csv_file:  # 转为list
            csv_reader = csv.reader(csv_file)
            csv_list = list(csv_reader)
        with open(path, "r", encoding="utf-8") as csv_file:  # 转为dict
            csv_dict = csv.DictReader(csv_file)
            csv_dict_list = list(csv_dict)
        if fields:
            if isinstance(column, str):
                return csv_dict_list[row - 1][column]
            elif isinstance(column, int):
                return csv_list[row][column - 1]
            else:
                raise TypeError(
                    "csv中有字段时，可以使用字段名表示列名类型为str，当然也可以使用列数表示类型为int，但当前类型为“%s”"
                    % column.__class__
                )
        else:
            if not isinstance(column, int):
                raise TypeError("csv中没有字段，请使用int类型表示列数，当前类型为“%s”" % column.__class__)
            else:
                return csv_list[row - 1][column - 1]

    @staticmethod
    def write_csv(path: str, value: str = "", column: int = 1, row: int = 1, fields: bool = True) -> NoReturn:
        """
        说明：写入csv指定单元格数据
        注意：文件编码建议使用utf-8
        :param path: csv文件路径 type=str
        :param value: 需要写入的数据 type=str
        :param row: 行数 type=int
        :param column: 字段名或列数 type=str or int
        :param fields: csv文件第一行是否是字段
        :return: None
        """
        if not isinstance(row, int):
            raise TypeError("row参数类型应为int类型而不是“%s”" % row.__class__)
        if row == 1:
            raise ValueError("第一行为字段行，不允许修改...")
        df = pandas.read_csv(path)
        if fields:
            if isinstance(column, str):
                df.at[row - 2, column] = value  # [行数，列名]
            elif isinstance(column, int):
                df.iat[row - 2, column - 1] = value  # [行数，列数]
            else:
                raise TypeError(
                    "csv中有字段时，可以使用字段名表示列名类型为str，当然也可以使用列数表示类型为int，但当前类型为“%s”"
                    % column.__class__
                )
        else:
            if not isinstance(column, int):
                raise TypeError("csv中没有字段，请使用int类型表示列数，当前类型为“%s”" % column.__class__)
            else:
                df.iat[row - 2, column - 1] = value
        df.to_csv(path_or_buf=path, index=False)

    @staticmethod
    def get_file_coding(filepath: str) -> dict:
        """
        说明：
            获取文件的编码格式
        :param filepath: 文件路径 type=str
        :return: {'confidence': 1.0, 'encoding': 'UTF-8'} type=dict
        """
        with open(file=filepath, mode="rb") as f:
            s = f.read()
        return chardet.detect(s)

    @staticmethod
    def random_phone() -> str:
        """
        说明:
            生成中国大陆手机号
        :return: str
        """
        prelist = [
            "130",
            "131",
            "132",
            "133",
            "134",
            "135",
            "136",
            "137",
            "138",
            "139",
            "147",
            "150",
            "151",
            "152",
            "153",
            "155",
            "156",
            "157",
            "158",
            "159",
            "186",
            "187",
            "188",
        ]
        return random.choice(prelist) + "".join(
            random.choice("0123456789") for _ in range(8)
        )

    @staticmethod
    def random_id_card() -> str:
        """
        说明:
            生成中国大陆身份证号
        :return: str
        """
        area_dict = {
            "451381": "合山市",
            "542336": "聂拉木县",
            "320902": "亭湖区",
            "321324": "泗洪县",
            "210900": "阜新",
            "511132": "峨边彝族自治县",
            "320682": "如皋市",
            "222400": "延边州",
            "411023": "许昌县",
            "420922": "大悟县",
            "511324": "仪陇县",
            "320982": "大丰市",
            "542300": "日喀则市",
            "140881": "永济市",
            "542429": "巴青县",
            "632700": "玉树州",
            "370982": "新泰市",
            "341000": "黄山市",
            "130433": "馆陶县",
            "211324": "喀左县",
            "130700": "张家口",
            "150428": "喀喇沁旗",
            "230422": "绥滨县",
            "330303": "龙湾区",
            "331002": "椒江区",
            "231002": "东安区",
            "350203": "思明区",
            "659002": "阿拉尔市",
            "320804": "淮阴区",
            "320411": "新北区",
            "141102": "离石区",
            "450404": "龙圩区",
            "341523": "舒城县",
            "130922": "青县",
            "210503": "溪湖区",
            "350105": "马尾区",
            "620924": "阿克塞县",
            "421222": "通城县",
            "330226": "宁海县",
            "620802": "崆峒区",
            "320203": "南长区",
            "451227": "巴马县",
            "532600": "文山州",
            "440600": "佛山市",
            "530400": "玉溪",
            "371402": "德城区",
            "522731": "惠水县",
            "621021": "庆城县",
            "500119": "南川区",
            "152502": "锡林浩特市",
            "320402": "天宁区",
            "370781": "青州市",
            "410800": "焦作",
            "340721": "铜陵县",
            "620503": "麦积区",
            "610402": "秦都区",
            "231200": "绥化",
            "231085": "穆棱市",
            "331100": "丽水",
            "140922": "五台县",
            "440982": "化州市",
            "320602": "崇川区",
            "130625": "徐水区",
            "140221": "阳高县",
            "220500": "通化市",
            "230223": "依安县",
            "451322": "象州县",
            "321281": "兴化市",
            "360803": "青原区",
            "410802": "解放区",
            "640402": "原州区",
            "211422": "建昌县",
            "341800": "宣城市",
            "341122": "来安县",
            "430502": "双清区",
            "320508": "姑苏区",
            "542323": "江孜县",
            "431125": "江永县",
            "330104": "江干区",
            "440184": "从化区",
            "340303": "蚌山区",
            "130123": "正定县",
            "370983": "肥城市",
            "371581": "临清市",
            "441200": "肇庆市",
            "141030": "大宁县",
            "130302": "海港区",
            "370100": "济南",
            "131026": "文安县",
            "130823": "平泉县",
            "511800": "雅安",
            "371302": "兰山区",
            "532929": "云龙县",
            "330703": "金东区",
            "430321": "湘潭县",
            "621226": "礼县",
            "230382": "密山市",
            "510812": "朝天区",
            "371122": "莒县",
            "622921": "临夏县",
            "520203": "六枝特区",
            "150525": "奈曼旗",
            "511381": "阆中市",
            "421381": "广水市",
            "211011": "太子河区",
            "211202": "银州区",
            "370304": "博山区",
            "500223": "潼南区",
            "130703": "桥西区",
            "150105": "赛罕区",
            "130322": "昌黎县",
            "421121": "团风县",
            "511423": "洪雅县",
            "430524": "隆回县",
            "522301": "兴义市",
            "420203": "西塞山区",
            "341323": "灵璧县",
            "542622": "工布江达县",
            "542226": "曲松县",
            "511323": "蓬安县",
            "140926": "静乐县",
            "130404": "复兴区",
            "530622": "巧家县",
            "320600": "南通",
            "421003": "荆州区",
            "440607": "三水区",
            "230716": "上甘岭",
            "530800": "普洱",
            "230804": "前进区",
            "230900": "七台河",
            "150303": "海南区",
            "610424": "乾县",
            "130828": "围场县",
            "620921": "金塔县",
            "330700": "金华",
            "420322": "郧西县",
            "610702": "汉台区",
            "330302": "鹿城区",
            "610431": "武功县",
            "620402": "白银区",
            "532528": "元阳县",
            "511322": "营山县",
            "220503": "二道江区",
            "430702": "武陵区",
            "130727": "阳原县",
            "620423": "景泰县",
            "370402": "市中区",
            "530827": "孟连县",
            "632223": "海晏县",
            "230300": "鸡西",
            "610581": "韩城市",
            "451224": "东兰县",
            "440523": "南澳县",
            "632822": "都兰县",
            "210922": "彰武县",
            "350322": "仙游县",
            "360922": "万载县",
            "140581": "高平市",
            "350925": "周宁县",
            "370404": "峄城区",
            "140729": "灵石县",
            "411282": "灵宝市",
            "440106": "天河区",
            "411200": "三门峡",
            "361124": "铅山县",
            "230307": "麻山区",
            "450681": "东兴市",
            "230112": "阿城区",
            "341021": "歙县",
            "321000": "扬州",
            "320826": "涟水县",
            "210103": "沈河区",
            "632121": "平安区",
            "230403": "工农区",
            "130702": "桥东区",
            "520421": "平坝区",
            "621228": "两当县",
            "210782": "北镇市",
            "410212": "祥符区",
            "611000": "商洛市",
            "500226": "荣昌区",
            "330803": "衢江区",
            "622925": "和政县",
            "230111": "呼兰区",
            "422825": "宣恩县",
            "532930": "洱源县",
            "130127": "高邑县",
            "513401": "西昌市",
            "511421": "仁寿县",
            "511723": "开江县",
            "513336": "乡城县",
            "510522": "合江县",
            "410000": "河南",
            "623025": "玛曲县",
            "130303": "山海关区",
            "320583": "昆山市",
            "652300": "昌吉州",
            "360429": "湖口县",
            "210603": "振兴区",
            "430422": "衡南县",
            "150121": "土默特左旗",
            "440204": "浈江区",
            "331023": "天台县",
            "430304": "岳塘区",
            "140200": "大同",
            "230229": "克山县",
            "320829": "洪泽县",
            "341322": "萧县",
            "621000": "庆阳",
            "420000": "湖北",
            "520201": "钟山区",
            "150204": "青山区",
            "542428": "班戈县",
            "640381": "青铜峡市",
            "421024": "江陵县",
            "130000": "河北",
            "451026": "那坡县",
            "610527": "白水县",
            "640000": "宁夏",
            "532628": "富宁县",
            "430525": "洞口县",
            "520326": "务川县",
            "150783": "扎兰屯市",
            "360000": "江西",
            "542335": "吉隆县",
            "152523": "苏尼特左旗",
            "421223": "崇阳县",
            "320114": "雨花台区",
            "440608": "高明区",
            "130902": "新华区",
            "430703": "鼎城区",
            "360727": "龙南县",
            "321323": "泗阳县",
            "522327": "册亨县",
            "522634": "雷山县",
            "340300": "蚌埠市",
            "411702": "驿城区",
            "371325": "费县",
            "611025": "镇安县",
            "370303": "张店区",
            "230302": "鸡冠区",
            "610330": "凤县",
            "370000": "山东",
            "371000": "威海",
            "150927": "察哈尔右翼中旗",
            "341721": "东至县",
            "410323": "新安县",
            "370305": "临淄区",
            "411721": "西平县",
            "510824": "苍溪县",
            "431382": "涟源市",
            "340702": "铜官山区",
            "410204": "鼓楼区",
            "370214": "城阳区",
            "110228": "密云县",
            "440783": "开平市",
            "230407": "兴山区",
            "140107": "杏花岭区",
            "440308": "盐田区",
            "230100": "哈尔滨",
            "510112": "龙泉驿区",
            "131123": "武强县",
            "230184": "五常市",
            "210404": "望花区",
            "469032": "南沙群岛",
            "130200": "唐山市",
            "532624": "麻栗坡县",
            "542523": "噶尔县",
            "450300": "桂林",
            "140181": "古交市",
            "450800": "贵港",
            "510504": "龙马潭区",
            "131126": "故城县",
            "542621": "林芝县",
            "110107": "石景山区",
            "211403": "龙港区",
            "331004": "路桥区",
            "411330": "桐柏县",
            "320115": "江宁区",
            "211421": "绥中县",
            "320830": "盱眙县",
            "130108": "裕华区",
            "130705": "宣化区",
            "430822": "桑植县",
            "451022": "田东县",
            "440282": "南雄市",
            "341222": "太和县",
            "210422": "新宾满族自治县",
            "440511": "金平区",
            "421300": "随州市",
            "140822": "万荣县",
            "440304": "福田区",
            "120221": "宁河区",
            "410326": "汝阳县",
            "511826": "芦山县",
            "520329": "余庆县",
            "610426": "永寿县",
            "513422": "木里县",
            "211004": "宏伟区",
            "441821": "佛冈县",
            "411625": "郸城县",
            "370302": "淄川区",
            "440781": "台山市",
            "510703": "涪城区",
            "361128": "鄱阳县",
            "430603": "云溪区",
            "610423": "泾阳县",
            "150702": "海拉尔区",
            "320102": "玄武区",
            "210311": "千山区",
            "411426": "夏邑县",
            "500238": "巫溪县",
            "450311": "雁山区",
            "420704": "鄂城区",
            "511526": "珙县",
            "610300": "宝鸡市",
            "410422": "叶县",
            "340311": "淮上区",
            "140623": "右玉县",
            "510300": "自贡",
            "130821": "承德县",
            "140224": "灵丘县",
            "410927": "台前县",
            "350212": "同安区",
            "130131": "平山县",
            "152528": "镶黄旗",
            "542527": "措勤县",
            "520181": "清镇市",
            "510411": "仁和区",
            "350124": "闽清县",
            "130582": "沙河市",
            "440923": "电白区",
            "370828": "金乡县",
            "330182": "建德市",
            "411522": "光山县",
            "500105": "江北区",
            "330204": "江东区",
            "440804": "坡头区",
            "330000": "浙江省",
            "610427": "彬县",
            "360300": "萍乡",
            "110111": "房山区",
            "211122": "盘山县",
            "130981": "泊头市",
            "331022": "三门县",
            "150522": "科尔沁左翼后旗",
            "360105": "湾里区",
            "610116": "长安区",
            "410403": "卫东区",
            "230602": "萨尔图区",
            "150122": "托克托县",
            "610625": "志丹县",
            "341723": "青阳县",
            "440222": "始兴县",
            "530723": "华坪县",
            "513435": "甘洛县",
            "341321": "砀山县",
            "520221": "水城县",
            "410581": "林州市",
            "520603": "万山区",
            "320800": "淮安",
            "500108": "南岸区",
            "330782": "义乌市",
            "632824": "冷湖行委",
            "440200": "韶关市",
            "620825": "庄浪县",
            "421224": "通山县",
            "150426": "翁牛特旗",
            "451223": "凤山县",
            "510122": "双流县",
            "410621": "浚县",
            "220821": "镇赉县",
            "130400": "邯郸",
            "510781": "江油市",
            "530921": "凤庆县",
            "150800": "巴彦淖尔",
            "330206": "北仑区",
            "130983": "黄骅市",
            "340406": "潘集区",
            "140227": "大同县",
            "500113": "巴南区",
            "513224": "松潘县",
            "542333": "仲巴县",
            "131003": "广阳区",
            "330424": "海盐县",
            "420204": "下陆区",
            "331121": "青田县",
            "542427": "索县",
            "222404": "珲春市",
            "130223": "滦县",
            "321003": "邗江区",
            "440103": "荔湾区",
            "450105": "江南区",
            "341102": "琅琊区",
            "410505": "殷都区",
            "530328": "沾益县",
            "410600": "鹤壁",
            "130283": "迁安市",
            "532526": "弥勒市",
            "110000": "北京",
            "371326": "平邑县",
            "230882": "富锦市",
            "210213": "金州区",
            "110116": "怀柔区",
            "130125": "行唐县",
            "330211": "镇海区",
            "632802": "德令哈市",
            "141022": "翼城县",
            "130535": "临西县",
            "445222": "揭西县",
            "141027": "浮山县",
            "450127": "横县",
            "130635": "蠡县",
            "130921": "沧县",
            "513423": "盐源县",
            "511525": "高县",
            "130406": "峰峰矿区",
            "150221": "土默特右旗",
            "510106": "金牛区",
            "430412": "南岳区",
            "542227": "措美县",
            "411621": "扶沟县",
            "210203": "西岗区",
            "710000": "台湾",
            "441581": "陆丰市",
            "522725": "瓮安县",
            "410882": "沁阳市",
            "210600": "丹东",
            "630122": "湟中县",
            "140827": "垣曲县",
            "530621": "鲁甸县",
            "410803": "中站区",
            "451323": "武宣县",
            "610102": "新城区",
            "440400": "珠海市",
            "350430": "建宁县",
            "410304": "瀍河区",
            "542132": "洛隆县",
            "522324": "晴隆县",
            "370322": "高青县",
            "620302": "金川区",
            "520627": "沿河县",
            "232722": "塔河县",
            "533324": "贡山县",
            "350725": "政和县",
            "533123": "盈江县",
            "500109": "北碚区",
            "411526": "潢川县",
            "532331": "禄丰县",
            "370900": "泰安",
            "450203": "鱼峰区",
            "320721": "赣榆区",
            "451023": "平果县",
            "542337": "萨嘎县",
            "331125": "云和县",
            "441825": "连山县",
            "451024": "德保县",
            "370611": "福山区",
            "420702": "梁子湖区",
            "211300": "朝阳",
            "331126": "庆元县",
            "610925": "岚皋县",
            "220521": "通化县",
            "511025": "资中县",
            "512081": "简阳市",
            "530700": "丽江",
            "341300": "宿州市",
            "371423": "庆云县",
            "632200": "海北州",
            "441400": "梅州市",
            "340811": "宜秀区",
            "640121": "永宁县",
            "350921": "霞浦县",
            "430500": "邵阳",
            "150202": "东河区",
            "522730": "龙里县",
            "371524": "东阿县",
            "360281": "乐平市",
            "632126": "互助土族自治县",
            "120103": "河西区",
            "431129": "江华县",
            "360721": "赣县",
            "230231": "拜泉县",
            "230505": "四方台区",
            "150624": "鄂托克旗",
            "620602": "凉州区",
            "140602": "朔城区",
            "150102": "新城区",
            "131125": "安平县",
            "530428": "元江县",
            "610425": "礼泉县",
            "431121": "祁阳县",
            "340403": "田家庵区",
            "360482": "共青城市",
            "652800": "巴音郭楞州",
            "430111": "雨花区",
            "540100": "拉萨",
            "513225": "九寨沟",
            "230281": "讷河市",
            "210111": "苏家屯区",
            "530122": "晋宁县",
            "320404": "钟楼区",
            "510132": "新津县",
            "621227": "徽县",
            "511524": "长宁县",
            "530422": "澄江县",
            "371424": "临邑县",
            "623024": "迭部县",
            "350623": "漳浦县",
            "140524": "陵川县",
            "330212": "鄞州区",
            "632625": "久治县",
            "500229": "城口县",
            "361021": "南城县",
            "431300": "娄底",
            "371328": "蒙阴县",
            "360802": "吉州区",
            "330402": "南湖区",
            "513227": "小金县",
            "140828": "夏县",
            "231084": "宁安市",
            "370784": "安丘市",
            "421302": "曾都区",
            "360104": "青云谱区",
            "510115": "温江区",
            "431229": "靖州县",
            "441427": "蕉岭县",
            "130623": "涞水县",
            "532627": "广南县",
            "141002": "尧都区",
            "430922": "桃江县",
            "320105": "建邺区",
            "420923": "云梦县",
            "320321": "丰县",
            "522322": "兴仁县",
            "150502": "科尔沁区",
            "130224": "滦南县",
            "370811": "任城区",
            "510105": "青羊区",
            "450226": "三江县",
            "430923": "安化县",
            "450125": "上林县",
            "220283": "舒兰市",
            "361181": "德兴市",
            "310105": "长宁区",
            "371728": "东明县",
            "450703": "钦北区",
            "230205": "昂昂溪区",
            "210411": "顺城区",
            "350924": "寿宁县",
            "431228": "芷江县",
            "530523": "龙陵县",
            "620826": "静宁县",
            "210381": "海城市",
            "513323": "丹巴县",
            "350500": "泉州",
            "130184": "新乐市",
            "150902": "集宁区",
            "341700": "池州市",
            "530524": "昌宁县",
            "341126": "凤阳县",
            "542129": "芒康县",
            "210700": "锦州",
            "232721": "呼玛县",
            "370181": "章丘市",
            "321203": "高港区",
            "411602": "川汇区",
            "542627": "朗县",
            "330502": "吴兴区",
            "330683": "嵊州市",
            "510113": "青白江区",
            "141182": "汾阳市",
            "360981": "丰城市",
            "350926": "柘荣县",
            "360600": "鹰潭",
            "430602": "岳阳楼区",
            "141026": "安泽县",
            "320500": "苏州",
            "542331": "康马县",
            "640422": "西吉县",
            "610000": "陕西",
            "230623": "林甸县",
            "422827": "来凤县",
            "632621": "玛沁县",
            "610825": "定边县",
            "640181": "灵武市",
            "530502": "隆阳区",
            "370124": "平阴县",
            "610902": "汉滨区",
            "350502": "鲤城区",
            "230207": "碾子山区",
            "360202": "昌江区",
            "650204": "白碱滩区",
            "140725": "寿阳县",
            "420804": "掇刀区",
            "445221": "揭东区",
            "370321": "桓台县",
            "230708": "美溪区",
            "360825": "永丰县",
            "430821": "慈利县",
            "511823": "汉源县",
            "220681": "临江市",
            "150103": "回民区",
            "410404": "石龙区",
            "530721": "玉龙县",
            "440281": "乐昌市",
            "530626": "绥江县",
            "659003": "图木舒克市",
            "652900": "阿克苏地区",
            "341023": "黟县",
            "510129": "大邑县",
            "340102": "瑶海区",
            "420700": "鄂州市",
            "410211": "金明区",
            "140928": "五寨县",
            "511724": "大竹县",
            "610827": "米脂县",
            "410700": "新乡",
            "500114": "黔江区",
            "632222": "祁连县",
            "330282": "慈溪市",
            "330921": "岱山县",
            "130430": "邱县",
            "610103": "碑林区",
            "511403": "彭山区",
            "152921": "阿拉善左旗",
            "371121": "五莲县",
            "441882": "连州市",
            "370826": "微山县",
            "451302": "兴宾区",
            "361125": "横峰县",
            "610122": "蓝田县",
            "230522": "友谊县",
            "510683": "绵竹市",
            "130928": "吴桥县",
            "520400": "安顺",
            "533300": "怒江州",
            "350900": "宁德",
            "532301": "楚雄市",
            "210505": "南芬区",
            "411626": "淮阳县",
            "532927": "巍山县",
            "150104": "玉泉区",
            "522729": "长顺县",
            "451102": "八步区",
            "542224": "桑日县",
            "340123": "肥西县",
            "610526": "蒲城县",
            "610829": "吴堡县",
            "141121": "文水县",
            "430104": "岳麓区",
            "440900": "茂名市",
            "140724": "昔阳县",
            "542524": "日土县",
            "360622": "余江县",
            "130132": "元氏县",
            "510104": "锦江区",
            "610628": "富县",
            "330800": "衢州",
            "500234": "开县",
            "340823": "枞阳县",
            "220605": "江源区",
            "210283": "庄河市",
            "230125": "宾县",
            "220602": "浑江区",
            "511321": "南部县",
            "522702": "福泉市",
            "370704": "坊子区",
            "341525": "霍山县",
            "410500": "安阳",
            "130229": "玉田县",
            "230110": "香坊区",
            "130534": "清河县",
            "653100": "喀什地区",
            "320581": "常熟市",
            "530923": "永德县",
            "530825": "镇沅县",
            "152531": "多伦县",
            "513335": "巴塘县",
            "410185": "登封市",
            "360521": "分宜县",
            "120111": "西青区",
            "341600": "亳州市",
            "350982": "福鼎市",
            "230506": "宝山区",
            "370212": "崂山区",
            "350425": "大田县",
            "360722": "信丰县",
            "610632": "黄陵县",
            "320211": "滨湖区",
            "370503": "河口区",
            "450922": "陆川县",
            "230707": "新青区",
            "542338": "岗巴县",
            "320400": "常州",
            "422800": "恩施州",
            "211121": "大洼县",
            "469033": "中沙群岛的岛礁及其海域",
            "610900": "安康市",
            "530802": "思茅区",
            "513233": "红原县",
            "141128": "方山县",
            "530121": "呈贡区",
            "230230": "克东县",
            "411425": "虞城县",
            "340103": "庐阳区",
            "140123": "娄烦县",
            "211382": "凌源市",
            "440300": "深圳市",
            "371521": "阳谷县",
            "542623": "米林县",
            "370523": "广饶县",
            "810000": "深水埗区",
            "210104": "大东区",
            "632128": "循化撒拉族自治县",
            "340104": "蜀山区",
            "530127": "嵩明县",
            "500236": "奉节县",
            "620523": "甘谷县",
            "450330": "平乐县",
            "350104": "仓山区",
            "140225": "浑源县",
            "542329": "白朗县",
            "210711": "太和区",
            "411329": "新野县",
            "429005": "潜江市",
            "441323": "惠东县",
            "620421": "靖远县",
            "542625": "波密县",
            "310115": "浦东新区",
            "469030": "琼中县",
            "152222": "科尔沁右翼中旗",
            "370285": "莱西市",
            "330481": "海宁市",
            "421221": "嘉鱼县",
            "533422": "德钦县",
            "150802": "临河区",
            "140702": "榆次区",
            "513426": "会东县",
            "440981": "高州市",
            "230225": "甘南县",
            "510682": "什邡市",
            "420100": "武汉市",
            "232723": "漠河县",
            "231283": "海伦市",
            "522728": "罗甸县",
            "130633": "易县",
            "140781": "介休市",
            "450312": "临桂区",
            "510304": "大安区",
            "370281": "胶州市",
            "350981": "福安市",
            "451002": "右江区",
            "621122": "陇西县",
            "350526": "德化县",
            "350402": "梅列区",
            "341881": "宁国市",
            "371603": "沾化区",
            "411403": "睢阳区",
            "371721": "曹县",
            "620121": "永登县",
            "450000": "广西",
            "140932": "偏关县",
            "430726": "石门县",
            "310108": "闸北区",
            "360782": "南康区",
            "340700": "铜陵市",
            "530926": "耿马县",
            "622923": "永靖县",
            "610728": "镇巴县",
            "140424": "屯留县",
            "510000": "四川",
            "130432": "广平县",
            "340503": "花山区",
            "510723": "盐亭县",
            "130103": "桥东区",
            "350724": "松溪县",
            "230102": "道里区",
            "341602": "谯城区",
            "340122": "肥东县",
            "533323": "福贡县",
            "130429": "永年县",
            "330900": "舟山",
            "450881": "桂平市",
            "410922": "清丰县",
            "632821": "乌兰县",
            "410523": "汤阴县",
            "220422": "东辽县",
            "620321": "永昌县",
            "522727": "平塘县",
            "130627": "唐县",
            "640122": "贺兰县",
            "320900": "盐城",
            "140728": "平遥县",
            "411104": "召陵区",
            "140721": "榆社县",
            "632800": "海西州",
            "361100": "上饶",
            "533122": "梁河县",
            "450403": "万秀区",
            "431028": "安仁县",
            "441702": "江城区",
            "542325": "萨迦县",
            "340800": "安庆市",
            "511402": "东坡区",
            "320705": "新浦区",
            "420600": "襄阳市",
            "320925": "建湖县",
            "140826": "绛县",
            "450325": "兴安县",
            "530321": "马龙县",
            "511827": "宝兴县",
            "542222": "扎囊县",
            "433125": "保靖县",
            "350525": "永春县",
            "450602": "港口区",
            "533103": "芒市",
            "131024": "香河县",
            "610328": "千阳县",
            "510182": "彭州市",
            "532822": "勐海县",
            "230705": "西林区",
            "520103": "云岩区",
            "632624": "达日县",
            "410104": "管城回族区",
            "440704": "江海区",
            "621025": "正宁县",
            "370300": "淄博",
            "320923": "阜宁县",
            "131182": "深州市",
            "232702": "松岭区",
            "361126": "弋阳县",
            "450324": "全州县",
            "341324": "泗县",
            "371600": "滨州",
            "420503": "伍家岗区",
            "440404": "金湾区",
            "610327": "陇县",
            "510722": "三台县",
            "341022": "休宁县",
            "620724": "高台县",
            "410724": "获嘉县",
            "430528": "新宁县",
            "230800": "佳木斯",
            "654200": "塔城地区",
            "542125": "丁青县",
            "341502": "金安区",
            "511129": "沐川县",
            "422801": "恩施市",
            "370902": "泰山区",
            "320303": "云龙区",
            "430102": "芙蓉区",
            "220421": "东丰县",
            "350822": "永定区",
            "310230": "崇明县",
            "150725": "陈巴尔虎旗",
            "445100": "潮州市",
            "230713": "带岭区",
            "513427": "宁南县",
            "650103": "沙依巴克区",
            "510821": "旺苍县",
            "140122": "阳曲县",
            "431124": "道县",
            "420202": "黄石港区",
            "533124": "陇川县",
            "230204": "铁锋区",
            "420300": "十堰市",
            "433123": "凤凰县",
            "110106": "丰台区",
            "530113": "东川区",
            "410727": "封丘县",
            "130824": "滦平县",
            "140930": "河曲县",
            "370681": "龙口市",
            "350703": "建阳区",
            "511802": "雨城区",
            "542121": "卡若区",
            "411729": "新蔡县",
            "511821": "名山区",
            "130632": "安新县",
            "370282": "即墨市",
            "632127": "化隆回族自治县",
            "331181": "龙泉市",
            "430981": "沅江市",
            "110105": "朝阳区",
            "361102": "信州区",
            "610624": "安塞县",
            "510704": "游仙区",
            "522628": "锦屏县",
            "130133": "赵县",
            "451200": "河池",
            "360102": "东湖区",
            "513331": "白玉县",
            "500115": "长寿区",
            "140624": "怀仁县",
            "410184": "新郑市",
            "220581": "梅河口市",
            "150222": "固阳县",
            "210905": "清河门区",
            "430181": "浏阳市",
            "220582": "集安市",
            "532823": "勐腊县",
            "371724": "巨野县",
            "632723": "称多县",
            "350902": "蕉城区",
            "542600": "林芝",
            "532502": "开远市",
            "360122": "新建区",
            "530821": "宁洱县",
            "340826": "宿松县",
            "130304": "北戴河区",
            "370521": "垦利县",
            "310114": "嘉定区",
            "230200": "齐齐哈尔",
            "430725": "桃源县",
            "131025": "大城县",
            "640104": "兴庆区",
            "520621": "江口县",
            "371400": "德州",
            "310118": "青浦区",
            "522326": "望谟县",
            "530126": "石林彝族自治县",
            "360502": "渝水区",
            "411281": "义马市",
            "510108": "成华区",
            "445303": "云安区",
            "371422": "宁津县",
            "640423": "隆德县",
            "141129": "中阳县",
            "232703": "新林区",
            "421321": "随县",
            "410305": "涧西区",
            "420982": "安陆市",
            "220722": "长岭县",
            "421123": "罗田县",
            "431123": "双牌县",
            "211282": "开原市",
            "350421": "明溪县",
            "330521": "德清县",
            "350723": "光泽县",
            "140931": "保德县",
            "610500": "渭南市",
            "451031": "隆林县",
            "350622": "云霄县",
            "610114": "阎良区",
            "220822": "通榆县",
            "230113": "双城区",
            "150821": "五原县",
            "371323": "沂水县",
            "371723": "成武县",
            "520222": "盘县",
            "210911": "细河区",
            "231282": "肇东市",
            "433127": "永顺县",
            "511922": "南江县",
            "410503": "北关区",
            "430302": "雨湖区",
            "510626": "罗江县",
            "211102": "双台子区",
            "320507": "相城区",
            "220402": "龙山区",
            "211302": "双塔区",
            "441226": "德庆县",
            "511523": "江安县",
            "441823": "阳山县",
            "130900": "沧州",
            "540123": "尼木县",
            "610721": "南郑县",
            "230208": "梅里斯达斡尔族区",
            "620721": "肃南县",
            "410202": "龙亭区",
            "140303": "矿区",
            "140431": "沁源县",
            "542100": "昌都市",
            "350824": "武平县",
            "360700": "赣州",
            "620300": "金昌",
            "331081": "温岭市",
            "520200": "六盘水",
            "140900": "忻州",
            "451221": "南丹县",
            "623000": "甘南州",
            "450702": "钦南区",
            "130203": "路北区",
            "131023": "永清县",
            "232700": "大兴安岭",
            "520402": "西秀区",
            "620621": "民勤县",
            "361029": "东乡县",
            "542327": "昂仁县",
            "310112": "闵行区",
            "350627": "南靖县",
            "520113": "白云区",
            "431127": "蓝山县",
            "210604": "振安区",
            "621023": "华池县",
            "341024": "祁门县",
            "440111": "白云区",
            "150785": "根河市",
            "231225": "明水县",
            "140400": "长治",
            "370921": "宁阳县",
            "511123": "犍为县",
            "440205": "曲江区",
            "513230": "壤塘县",
            "321102": "京口区",
            "542326": "拉孜县",
            "450600": "防城港",
            "440803": "霞山区",
            "469031": "西沙群岛",
            "130638": "雄县",
            "231100": "黑河",
            "210402": "新抚区",
            "370602": "芝罘区",
            "431024": "嘉禾县",
            "330326": "平阳县",
            "441827": "清新县",
            "520302": "红花岗区",
            "120112": "津南区",
            "360427": "星子县",
            "130524": "柏乡县",
            "320202": "崇安区",
            "360111": "青山湖区",
            "152923": "额济纳旗",
            "411381": "邓州市",
            "511781": "万源市",
            "420526": "兴山县",
            "370600": "烟台",
            "350524": "安溪县",
            "360823": "峡江县",
            "610927": "镇坪县",
            "429006": "天门市",
            "610200": "铜川市",
            "320505": "虎丘区",
            "510321": "荣县",
            "530900": "临沧",
            "341204": "颍泉区",
            "350581": "石狮市",
            "411600": "周口",
            "450329": "资源县",
            "410603": "山城区",
            "341522": "霍邱县",
            "370830": "汶上县",
            "370684": "蓬莱市",
            "510400": "攀枝花",
            "360203": "珠山区",
            "430621": "岳阳县",
            "210400": "抚顺",
            "430624": "湘阴县",
            "340504": "雨山区",
            "410106": "上街区",
            "411422": "睢县",
            "520123": "修文县",
            "533325": "兰坪县",
            "152900": "阿拉善盟",
            "220323": "伊通满族自治县",
            "370700": "潍坊",
            "500121": "璧山区",
            "420881": "钟祥市",
            "130600": "保定",
            "430112": "望城区",
            "410411": "湛河区",
            "110114": "昌平区",
            "341200": "阜阳市",
            "522722": "荔波县",
            "440306": "宝安区",
            "120116": "滨海新区",
            "150302": "海勃湾区",
            "500233": "忠县",
            "371103": "岚山区",
            "211204": "清河区",
            "420222": "阳新县",
            "370883": "邹城市",
            "542233": "浪卡子县",
            "622922": "康乐县",
            "632626": "玛多县",
            "431224": "溆浦县",
            "422828": "鹤峰县",
            "211100": "盘锦",
            "441800": "清远市",
            "430406": "雁峰区",
            "630121": "大通县",
            "450503": "银海区",
            "130825": "隆化县",
            "630100": "西宁市",
            "440507": "龙湖区",
            "532801": "景洪市",
            "220221": "永吉县",
            "430200": "株洲",
            "350211": "集美区",
            "370306": "周村区",
            "532626": "丘北县",
            "431321": "双峰县",
            "431128": "新田县",
            "610126": "高陵区",
            "430529": "城步苗族自治县",
            "230902": "新兴区",
            "610629": "洛川县",
            "542232": "错那县",
            "640400": "固原市",
            "469001": "五指山市",
            "230621": "肇州县",
            "140921": "定襄县",
            "341100": "滁州市",
            "431227": "新晃县",
            "130634": "曲阳县",
            "140109": "万柏林区",
            "130281": "遵化市",
            "445224": "惠来县",
            "511722": "宣汉县",
            "131181": "冀州市",
            "341422": "无为县",
            "370634": "长岛县",
            "330327": "苍南县",
            "511725": "渠县",
            "130522": "临城县",
            "511622": "武胜县",
            "150782": "牙克石市",
            "441500": "汕尾市",
            "500243": "彭水县",
            "341003": "黄山区",
            "411528": "息县",
            "441424": "五华县",
            "610125": "户县",
            "150304": "乌达区",
            "440513": "潮阳区",
            "330602": "越城区",
            "371502": "东昌府区",
            "321081": "仪征市",
            "230503": "岭东区",
            "360428": "都昌县",
            "520526": "威宁县",
            "370103": "市中区",
            "230606": "大同区",
            "513231": "阿坝县",
            "430224": "茶陵县",
            "530100": "昆明",
            "341802": "宣州区",
            "623026": "碌曲县",
            "232704": "呼中区",
            "441300": "惠州市",
            "411728": "遂平县",
            "451402": "江州区",
            "131082": "三河市",
            "361025": "乐安县",
            "141033": "蒲县",
            "410402": "新华区",
            "371481": "乐陵市",
            "620200": "嘉峪关",
            "430521": "邵东县",
            "130629": "容城县",
            "542128": "左贡县",
            "230605": "红岗区",
            "431223": "辰溪县",
            "500118": "永川区",
            "610929": "白河县",
            "371329": "临沭县",
            "360124": "进贤县",
            "532328": "元谋县",
            "421127": "黄梅县",
            "211000": "辽阳",
            "530425": "易门县",
            "371621": "惠民县",
            "441900": "东莞市",
            "530102": "五华区",
            "522300": "黔西南州",
            "410923": "南乐县",
            "430682": "临湘市",
            "110109": "门头沟区",
            "140000": "山西",
            "360702": "章贡区",
            "230108": "平房区",
            "330205": "江北区",
            "420900": "孝感市",
            "441224": "怀集县",
            "542223": "贡嘎县",
            "512002": "雁江区",
            "450326": "永福县",
            "510603": "旌阳区",
            "511111": "沙湾区",
            "350423": "清流县",
            "210421": "抚顺县",
            "520622": "玉屏县",
            "630103": "城中区",
            "420822": "沙洋县",
            "469005": "文昌市",
            "610928": "旬阳县",
            "130531": "广宗县",
            "522600": "黔东南州",
            "430781": "津市市",
            "440903": "茂港区",
            "430000": "湖南",
            "411000": "许昌市",
            "542328": "谢通门县",
            "430921": "南县",
            "520424": "关岭县",
            "120225": "蓟县",
            "421281": "赤壁市",
            "340621": "濉溪县",
            "430400": "衡阳",
            "522626": "岑巩县",
            "632622": "班玛县",
            "211224": "昌图县",
            "469024": "临高县",
            "530724": "宁蒗县",
            "500000": "重庆",
            "451027": "凌云县",
            "420606": "樊城区",
            "430103": "天心区",
            "210811": "老边区",
            "411202": "湖滨区",
            "421122": "红安县",
            "520303": "汇川区",
            "533102": "瑞丽市",
            "410181": "巩义市",
            "140622": "应县",
            "320000": "江苏",
            "654300": "阿勒泰地区",
            "421022": "公安县",
            "469007": "东方市",
            "141082": "霍州市",
            "321182": "扬中市",
            "542421": "那曲县",
            "410704": "凤泉区",
            "611024": "山阳县",
            "530125": "宜良县",
            "130682": "定州市",
            "542422": "嘉黎县",
            "542332": "定结县",
            "350721": "顺昌县",
            "450721": "灵山县",
            "130431": "鸡泽县",
            "542123": "贡觉县",
            "513333": "色达县",
            "211200": "铁岭",
            "140925": "宁武县",
            "330624": "新昌县",
            "511102": "市中区",
            "371482": "禹城市",
            "610525": "澄城县",
            "610104": "莲湖区",
            "230306": "城子河区",
            "130804": "鹰手营子矿区",
            "513338": "得荣县",
            "120223": "静海区",
            "350426": "尤溪县",
            "310106": "静安区",
            "430802": "永定区",
            "230603": "龙凤区",
            "341202": "颍州区",
            "230502": "尖山区",
            "140726": "太谷县",
            "220403": "西安区",
            "510903": "船山区",
            "430381": "湘乡市",
            "431281": "洪江市",
            "520327": "凤冈县",
            "632300": "黄南州",
            "350600": "漳州",
            "130521": "邢台县",
            "522633": "从江县",
            "610528": "富平县",
            "513437": "雷波县",
            "411627": "太康县",
            "441283": "高要区",
            "430281": "醴陵市",
            "440113": "番禺区",
            "340181": "巢湖市",
            "610727": "略阳县",
            "652201": "哈密市",
            "610113": "雁塔区",
            "441302": "惠城区",
            "621022": "环县",
            "140203": "矿区",
            "210502": "平山区",
            "222406": "和龙市",
            "610722": "城固县",
            "542626": "察隅县",
            "350200": "厦门",
            "513429": "布拖县",
            "511923": "平昌县",
            "220600": "白山市",
            "230803": "向阳区",
            "360423": "武宁县",
            "530302": "麒麟区",
            "610429": "旬邑县",
            "522623": "施秉县",
            "360881": "井冈山市",
            "360103": "西湖区",
            "451421": "扶绥县",
            "533321": "泸水县",
            "621100": "定西",
            "410108": "惠济区",
            "370686": "栖霞市",
            "532623": "西畴县",
            "130604": "南市区",
            "520330": "习水县",
            "220724": "扶余市",
            "230224": "泰来县",
            "530326": "会泽县",
            "410102": "中原区",
            "360828": "万安县",
            "471.55": "宿迁",
            "430421": "衡阳县",
            "230833": "抚远县",
            "450223": "鹿寨县",
            "511303": "高坪区",
            "510500": "泸州",
            "632600": "果洛州",
            "450225": "融水县",
            "330300": "温州",
            "350300": "莆田",
            "370832": "梁山县",
            "230921": "勃利县",
            "532922": "漾濞县",
            "321183": "句容市",
            "511100": "乐山",
            "450923": "博白县",
            "360827": "遂川县",
            "610331": "太白县",
            "511623": "邻水县",
            "440402": "香洲区",
            "511124": "井研县",
            "370812": "兖州区",
            "150581": "霍林郭勒市",
            "620900": "酒泉",
            "210122": "辽中县",
            "511903": "恩阳区",
            "420302": "茅箭区",
            "610723": "洋县",
            "150423": "巴林右旗",
            "610831": "子洲县",
            "330183": "富阳区",
            "230600": "大庆",
            "220105": "二道区",
            "440203": "武江区",
            "370202": "市南区",
            "610204": "耀州区",
            "632324": "河南蒙古族自治县",
            "231182": "五大连池市",
            "130723": "康保县",
            "420200": "黄石市",
            "210202": "中山区",
            "110115": "大兴区",
            "513334": "理塘县",
            "532300": "楚雄州",
            "513424": "德昌县",
            "510181": "都江堰市",
            "532322": "双柏县",
            "410526": "滑县",
            "130731": "涿鹿县",
            "500102": "涪陵区",
            "620123": "榆中县",
            "130926": "肃宁县",
            "150124": "清水河县",
            "220802": "洮北区",
            "511529": "屏山县",
            "320100": "南京",
            "211281": "调兵山市",
            "370911": "岱岳区",
            "130300": "秦皇岛",
            "330902": "定海区",
            "510124": "郫县",
            "411081": "禹州市",
            "441523": "陆河县",
            "512021": "安岳县",
            "430423": "衡山县",
            "331122": "缙云县",
            "451228": "都安县",
            "371200": "莱芜",
            "150500": "通辽市",
            "450102": "兴宁区",
            "445381": "罗定市",
            "220881": "洮南市",
            "330281": "余姚市",
            "530902": "临翔区",
            "620981": "玉门市",
            "431026": "汝城县",
            "210321": "台安县",
            "511325": "西充县",
            "440700": "江门市",
            "640105": "西夏区",
            "420117": "新洲区",
            "130530": "新河县",
            "530325": "富源县",
            "542423": "比如县",
            "460200": "三亚市",
            "131081": "霸州市",
            "130183": "晋州市",
            "530722": "永胜县",
            "520524": "织金县",
            "371327": "莒南县",
            "520626": "德江县",
            "230227": "富裕县",
            "510402": "东区",
            "210211": "甘井子区",
            "620525": "张家川回族自治县",
            "371312": "河东区",
            "141122": "交城县",
            "530124": "富民县",
            "431122": "东安县",
            "510322": "富顺县",
            "510600": "德阳",
            "370683": "莱州市",
            "620822": "灵台县",
            "430800": "张家界",
            "532926": "南涧县",
            "371403": "陵城区",
            "341124": "全椒县",
            "150521": "科尔沁左翼中旗",
            "230126": "巴彦县",
            "632224": "刚察县",
            "140821": "临猗县",
            "533421": "香格里拉市",
            "445281": "普宁市",
            "530128": "禄劝县",
            "130500": "邢台",
            "330122": "桐庐县",
            "451400": "崇左",
            "130527": "南和县",
            "320506": "吴中区",
            "632322": "尖扎县",
            "510623": "中江县",
            "130683": "安国市",
            "411622": "西华县",
            "530922": "云县",
            "431221": "中方县",
            "350527": "金门县",
            "231102": "爱辉区",
            "371622": "阳信县",
            "520321": "遵义县",
            "450331": "荔浦县",
            "370923": "东平县",
            "360781": "瑞金市",
            "130121": "井陉县",
            "610626": "吴起县",
            "340711": "郊区",
            "340321": "怀远县",
            "340827": "望江县",
            "360728": "定南县",
            "620622": "古浪县",
            "411725": "确山县",
            "632823": "天峻县",
            "513232": "若尔盖县",
            "420303": "张湾区",
            "513325": "雅江县",
            "610326": "眉县",
            "511921": "通江县",
            "512022": "乐至县",
            "141125": "柳林县",
            "430225": "炎陵县",
            "350521": "惠安县",
            "610100": "西安市",
            "411722": "上蔡县",
            "500101": "万州区",
            "540102": "城关区",
            "150206": "白云鄂博矿区",
            "320703": "连云区",
            "210300": "鞍山",
            "430700": "常德",
            "430681": "汨罗市",
            "440515": "澄海区",
            "650105": "水磨沟区",
            "220400": "辽源市",
            "659004": "五家渠市",
            "220106": "绿园区",
            "431322": "新化县",
            "230406": "东山区",
            "420106": "武昌区",
            "330421": "嘉善县",
            "632221": "门源回族自治县",
            "500242": "酉阳县",
            "451202": "金城江区",
            "500231": "垫江县",
            "430405": "珠晖区",
            "445302": "云城区",
            "450900": "玉林",
            "130624": "阜平县",
            "420902": "孝南区",
            "152224": "突泉县",
            "210112": "浑南区",
            "141034": "汾西县",
            "141025": "古县",
            "320282": "宜兴市",
            "411303": "卧龙区",
            "511424": "丹棱县",
            "620982": "敦煌市",
            "410225": "兰考县",
            "441625": "东源县",
            "510311": "沿滩区",
            "371722": "单县",
            "420821": "京山县",
            "433100": "湘西州",
            "611002": "商州区",
            "430105": "开福区",
            "510800": "广元",
            "520525": "纳雍县",
            "520628": "松桃县",
            "450803": "港南区",
            "420984": "汉川市",
            "450521": "合浦县",
            "230702": "伊春区",
            "532529": "红河县",
            "510900": "遂宁",
            "360829": "安福县",
            "340405": "八公山区",
            "421023": "监利县",
            "450405": "长洲区",
            "450512": "铁山港区",
            "410327": "宜阳县",
            "410900": "濮阳",
            "120115": "宝坻区",
            "441225": "封开县",
            "150824": "乌拉特中旗",
            "411322": "方城县",
            "410329": "伊川县",
            "350681": "龙海市",
            "421100": "黄冈市",
            "520323": "绥阳县",
            "532500": "红河州",
            "420582": "当阳市",
            "411327": "社旗县",
            "130730": "怀来县",
            "510303": "贡井区",
            "440224": "仁化县",
            "533423": "维西傈僳族自治县",
            "220281": "蛟河市",
            "130128": "深泽县",
            "140700": "晋中",
            "320621": "海安县",
            "140106": "迎泽区",
            "230421": "萝北县",
            "440881": "廉江市",
            "430611": "君山区",
            "230405": "兴安区",
            "610523": "大荔县",
            "440105": "海珠区",
            "231000": "牡丹江",
            "441202": "端州区",
            "360403": "浔阳区",
            "331000": "台州",
            "542228": "洛扎县",
            "513324": "九龙县",
            "422826": "咸丰县",
            "211021": "辽阳县",
            "440512": "濠江区",
            "231221": "望奎县",
            "421083": "洪湖市",
            "441623": "连平县",
            "230703": "南岔区",
            "130982": "任丘市",
            "511528": "兴文县",
            "420625": "谷城县",
            "431081": "资兴市",
            "330881": "江山市",
            "623021": "临潭县",
            "370481": "滕州市",
            "130681": "涿州市",
            "350400": "三明",
            "620722": "民乐县",
            "511527": "筠连县",
            "220382": "双辽市",
            "320903": "盐都区",
            "441423": "丰顺县",
            "530300": "曲靖",
            "140425": "平顺县",
            "320684": "海门市",
            "530823": "景东县",
            "420583": "枝江市",
            "350429": "泰宁县",
            "420527": "秭归县",
            "510811": "昭化区",
            "350625": "长泰县",
            "370104": "槐荫区",
            "511825": "天全县",
            "341524": "金寨县",
            "152527": "太仆寺旗",
            "610304": "陈仓区",
            "542330": "仁布县",
            "431126": "宁远县",
            "320124": "溧水区",
            "510107": "武侯区",
            "500110": "万盛区",
            "310116": "金山区",
            "220523": "辉南县",
            "330483": "桐乡市",
            "230624": "杜尔伯特蒙县",
            "500107": "九龙坡区",
            "141126": "石楼县",
            "530826": "江城县",
            "150429": "宁城县",
            "150625": "杭锦旗",
            "430723": "澧县",
            "320405": "戚墅堰区",
            "150424": "林西县",
            "141123": "兴县",
            "445322": "郁南县",
            "513332": "石渠县",
            "340822": "怀宁县",
            "310110": "杨浦区",
            "130503": "桥西区",
            "231181": "北安市",
            "340208": "三山区",
            "130481": "武安市",
            "411002": "魏都区",
            "532525": "石屏县",
            "210204": "沙河口区",
            "410781": "卫辉市",
            "623027": "夏河县",
            "530103": "盘龙区",
            "510503": "纳溪区",
            "360426": "德安县",
            "130434": "魏县",
            "610802": "榆阳区",
            "340111": "包河区",
            "500228": "梁平县",
            "654000": "霍尔果斯市",
            "130684": "高碑店市",
            "511112": "五通桥区",
            "530129": "寻甸县",
            "350624": "诏安县",
            "150100": "呼和浩特",
            "350302": "城厢区",
            "350722": "浦城县",
            "210181": "新民市",
            "411723": "平舆县",
            "469023": "澄迈县",
            "522701": "都匀市",
            "500120": "铜梁区",
            "511503": "南溪区",
            "420607": "襄州区",
            "141032": "永和县",
            "350503": "丰泽区",
            "360900": "宜春",
            "210726": "黑山县",
            "350303": "涵江区",
            "610627": "甘泉县",
            "620422": "会宁县",
            "360822": "吉水县",
            "542122": "江达县",
            "350923": "屏南县",
            "650202": "独山子区",
            "511521": "宜宾县",
            "430503": "大祥区",
            "441324": "龙门县",
            "320811": "清浦区",
            "140223": "广灵县",
            "520121": "开阳县",
            "451226": "环江县",
            "621123": "渭源县",
            "150925": "凉城县",
            "410611": "淇滨区",
            "340207": "鸠江区",
            "420502": "西陵区",
            "341302": "埇桥区",
            "210113": "沈北新区",
            "140430": "沁县",
            "150826": "杭锦后旗",
            "450100": "南宁",
            "320322": "沛县",
            "511126": "夹江县",
            "410328": "洛宁县",
            "610600": "延安市",
            "350821": "长汀县",
            "341225": "阜南县",
            "411221": "渑池县",
            "231081": "绥芬河市",
            "130822": "兴隆县",
            "150721": "阿荣旗",
            "421126": "蕲春县",
            "530424": "华宁县",
            "130533": "威县",
            "220181": "九台区",
            "330100": "杭州",
            "450924": "兴业县",
            "320623": "如东县",
            "410205": "禹王台区",
            "451028": "乐业县",
            "360481": "瑞昌市",
            "532323": "牟定县",
            "140723": "和顺县",
            "430424": "衡东县",
            "350781": "邵武市",
            "510681": "广汉市",
            "630000": "青海",
            "341521": "寿县",
            "210114": "于洪区",
            "220621": "抚松县",
            "371522": "莘县",
            "230402": "向阳区",
            "431103": "冷水滩区",
            "320924": "射阳县",
            "410728": "长垣县",
            "411326": "淅川县",
            "150627": "伊金霍洛旗",
            "330225": "象山县",
            "350205": "海沧区",
            "331102": "莲都区",
            "210521": "本溪满族自治县",
            "150922": "化德县",
            "350000": "福建",
            "620105": "安宁区",
            "650102": "天山区",
            "500117": "合川区",
            "431003": "苏仙区",
            "320116": "六合区",
            "513228": "黑水县",
            "360902": "袁州区",
            "530181": "安宁市",
            "421000": "荆州市",
            "330329": "泰顺县",
            "650109": "米东区",
            "410122": "中牟县",
            "430407": "石鼓区",
            "610522": "潼关县",
            "150825": "乌拉特后旗",
            "422822": "建始县",
            "150724": "鄂温克族自治旗",
            "130733": "崇礼县",
            "130107": "井陉矿区",
            "450303": "叠彩区",
            "130102": "长安区",
            "430522": "新邵县",
            "520114": "观山湖区",
            "440183": "增城区",
            "650205": "乌尔禾区",
            "410902": "华龙区",
            "211221": "铁岭县",
            "150523": "开鲁县",
            "131121": "枣强县",
            "440114": "花都区",
            "620524": "武山县",
            "220202": "昌邑区",
            "230704": "友好区",
            "420529": "五峰县",
            "610926": "平利县",
            "441402": "梅江区",
            "370403": "薛城区",
            "130109": "藁城区",
            "430600": "岳阳",
            "140421": "长治县",
            "520422": "普定县",
            "451100": "贺州",
            "360200": "景德镇",
            "370112": "历城区",
            "140411": "郊区",
            "130528": "宁晋县",
            "431200": "怀化",
            "510403": "西区",
            "320509": "吴江区",
            "140428": "长子县",
            "150421": "阿鲁旗",
            "150924": "兴和县",
            "230128": "通河县",
            "450109": "邕宁区",
            "220104": "朝阳区",
            "512000": "资阳",
            "321002": "广陵区",
            "640106": "金凤区",
            "610322": "凤翔县",
            "411302": "宛城区",
            "420113": "汉南区",
            "440303": "罗湖区",
            "231224": "庆安县",
            "511602": "广安区",
            "371526": "高唐县",
            "360723": "大余县",
            "320706": "海州区",
            "410311": "洛龙区",
            "371083": "乳山市",
            "341621": "涡阳县",
            "230709": "金山屯",
            "230903": "桃山市",
            "320106": "鼓楼区",
            "340203": "弋江区",
            "411724": "正阳县",
            "621027": "镇原县",
            "340600": "淮北市",
            "140322": "盂县",
            "130925": "盐山县",
            "542301": "桑珠孜区",
            "140500": "晋城",
            "650000": "新疆",
            "653000": "克孜勒苏州",
            "411103": "郾城区",
            "310000": "上海",
            "410322": "孟津县",
            "210804": "鲅鱼圈区",
            "510114": "新都区",
            "371425": "齐河县",
            "330200": "宁波",
            "640303": "红寺堡区",
            "532524": "建水县",
            "430408": "蒸湘区",
            "230706": "翠峦区",
            "340100": "合肥市",
            "431002": "北湖区",
            "230221": "龙江县",
            "210702": "古塔区",
            "361024": "崇仁县",
            "610830": "清涧县",
            "511011": "东兴区",
            "350702": "延平区",
            "610404": "渭城区",
            "611023": "商南县",
            "622900": "临夏州",
            "530925": "双江县",
            "441481": "兴宁市",
            "341702": "贵池区",
            "230104": "道外区",
            "441602": "源城区",
            "431225": "会同县",
            "510904": "安居区",
            "530381": "宣威市",
            "211005": "弓长岭区",
            "230521": "集贤县",
            "340402": "大通区",
            "350213": "翔安区",
            "450481": "岑溪市",
            "320803": "淮安区",
            "360983": "高安市",
            "440703": "蓬江区",
            "450305": "七星区",
            "140521": "沁水县",
            "450621": "上思县",
            "511700": "达州",
            "610111": "灞桥区",
            "150422": "巴林左旗",
            "320113": "栖霞区",
            "230811": "郊区",
            "511822": "荥经县",
            "330482": "平湖市",
            "451422": "宁明县",
            "522635": "麻江县",
            "130603": "莲池区",
            "621221": "成县",
            "430100": "长沙",
            "140426": "黎城县",
            "150722": "莫力达瓦旗",
            "420602": "襄城区",
            "321302": "宿城区",
            "130323": "抚宁县",
            "410303": "西工区",
            "350602": "芗城区",
            "430724": "临澧县",
            "469021": "定安县",
            "410103": "二七区",
            "431302": "娄星区",
            "210105": "皇姑区",
            "411500": "信阳",
            "330922": "嵊泗县",
            "360602": "月湖区",
            "320281": "江阴市",
            "632321": "同仁县",
            "370211": "黄岛区",
            "152525": "东乌珠穆沁旗",
            "532530": "金平县",
            "610324": "扶风县",
            "222424": "汪清县",
            "350504": "洛江区",
            "430481": "耒阳市",
            "340521": "当涂县",
            "330109": "萧山区",
            "410423": "鲁山县",
            "350628": "平和县",
            "511500": "宜宾",
            "360121": "南昌县",
            "520111": "花溪区",
            "610303": "金台区",
            "350182": "长乐市",
            "513425": "会理县",
            "231003": "阳明区",
            "152530": "正蓝旗",
            "321023": "宝应县",
            "320722": "东海县",
            "440100": "广州市",
            "532324": "南华县",
            "442000": "中山市",
            "530522": "腾冲县",
            "321181": "丹阳市",
            "140722": "左权县",
            "340828": "岳西县",
            "420205": "铁山区",
            "120114": "武清区",
            "371300": "临沂",
            "140825": "新绛县",
            "511302": "顺庆区",
            "610724": "西乡县",
            "120000": "天津",
            "410203": "顺河回族区",
            "610630": "宜川县",
            "610481": "兴平市",
            "360726": "安远县",
            "340602": "杜集区",
            "230000": "黑龙江",
            "632100": "海东市",
            "445321": "新兴县",
            "220100": "长春市",
            "350125": "永泰县",
            "152221": "科尔沁右翼前旗",
            "150600": "鄂尔多斯",
            "469028": "陵水县",
            "513326": "道孚县",
            "621225": "西和县",
            "141127": "岚县",
            "130208": "丰润区",
            "210403": "东洲区",
            "450200": "柳州",
            "410825": "温县",
            "150430": "敖汉旗",
            "330802": "柯城区",
            "431381": "冷水江市",
            "469025": "白沙县",
            "520100": "贵阳",
            "150784": "额尔古纳市",
            "411681": "项城市",
            "500111": "大足区",
            "410300": "洛阳",
            "150602": "东胜区",
            "610921": "汉阴县",
            "440825": "徐闻县",
            "350700": "南平",
            "330726": "浦江县",
            "341125": "定远县",
            "211103": "兴隆台区",
            "469002": "琼海市",
            "320311": "泉山区",
            "320724": "灌南县",
            "141028": "吉县",
            "522622": "黄平县",
            "510727": "平武县",
            "130126": "灵寿县",
            "520523": "金沙县",
            "610700": "汉中市",
            "532327": "永仁县",
            "130529": "巨鹿县",
            "411481": "永城市",
            "150404": "松山区",
            "130706": "下花园区",
            "610826": "绥德县",
            "140108": "尖草坪区",
            "330127": "淳安县",
            "152202": "阿尔山市",
            "230700": "伊春",
            "210881": "盖州市",
            "640202": "大武口区",
            "451029": "田林县",
            "411402": "梁园区",
            "210522": "桓仁满族自治县",
            "130428": "肥乡县",
            "410302": "老城区",
            "361129": "万年县",
            "511002": "市中区",
            "370702": "潍城区",
            "140502": "城区",
            "360302": "安源区",
            "321311": "宿豫区",
            "320612": "通州区",
            "330382": "乐清市",
            "211002": "白塔区",
            "410804": "马村区",
            "410325": "嵩县",
            "330411": "秀洲区",
            "420683": "枣阳市",
            "420581": "宜都市",
            "450302": "秀峰区",
            "421181": "麻城市",
            "330723": "武义县",
            "532625": "马关县",
            "320125": "高淳区",
            "654202": "乌苏市",
            "510923": "大英县",
            "520527": "赫章县",
            "120113": "北辰区",
            "610400": "咸阳市",
            "510724": "安县",
            "500112": "渝北区",
            "230805": "东风区",
            "632521": "共和县",
            "622924": "广河县",
            "430722": "汉寿县",
            "230127": "木兰县",
            "652101": "高昌区",
            "140600": "朔州",
            "220200": "吉林市",
            "532501": "个旧市",
            "230828": "汤原县",
            "410381": "偃师市",
            "430903": "赫山区",
            "431102": "零陵区",
            "141023": "襄汾县",
            "530500": "保山",
            "542522": "札达县",
            "441802": "清城区",
            "341500": "六安市",
            "511502": "翠屏区",
            "450124": "马山县",
            "360730": "宁都县",
            "411503": "平桥区",
            "320382": "邳州市",
            "632722": "杂多县",
            "440116": "萝岗区",
            "511600": "广安",
            "341722": "石台县",
            "130729": "万全县",
            "620922": "瓜州县",
            "445103": "潮安区",
            "450423": "蒙山县",
            "520602": "碧江区",
            "520502": "七星关区",
            "210123": "康平县",
            "130100": "石家庄",
            "340421": "凤台县",
            "130110": "鹿泉区",
            "451321": "忻城县",
            "640425": "彭阳县",
            "421087": "松滋市",
            "410703": "卫滨区",
            "360733": "会昌县",
            "361000": "抚州",
            "410421": "宝丰县",
            "340502": "博望区",
            "451225": "罗城县",
            "350783": "建瓯市",
            "340304": "禹会区",
            "110102": "西城区",
            "330185": "临安市",
            "360421": "九江县",
            "371626": "邹平县",
            "410200": "开封",
            "430223": "攸县",
            "360321": "莲花县",
            "621202": "武都区",
            "310113": "宝山区",
            "530822": "墨江县",
            "511000": "内江",
            "340703": "狮子山区",
            "441322": "博罗县",
            "510100": "成都",
            "310120": "奉贤区",
            "532325": "姚安县",
            "450981": "北流市",
            "130227": "迁西县",
            "469026": "昌江县",
            "610329": "麟游县",
            "441203": "鼎湖区",
            "623023": "舟曲县",
            "220623": "长白县",
            "210212": "旅顺口区",
            "530927": "沧源县",
            "320981": "东台市",
            "140727": "祁县",
            "341825": "旌德县",
            "430511": "北塔区",
            "451300": "来宾",
            "451121": "昭平县",
            "330822": "常山县",
            "410100": "郑州",
            "350825": "连城县",
            "640200": "石嘴山市",
            "622901": "临夏市",
            "361028": "资溪县",
            "410782": "辉县市",
            "650104": "新市区",
            "341823": "泾县",
            "620521": "清水县",
            "610323": "岐山县",
            "350427": "沙县",
            "610222": "宜君县",
            "710001": "台中市",
            "445122": "饶平县",
            "652222": "巴里坤县",
            "350305": "秀屿区",
            "150622": "准格尔旗",
            "532923": "祥云县",
            "211381": "北票市",
            "370829": "嘉祥县",
            "210921": "阜新蒙古族自治县",
            "620800": "平凉",
            "510421": "米易县",
            "431025": "临武县",
            "511304": "嘉陵区",
            "632724": "治多县",
            "430527": "绥宁县",
            "532924": "宾川县",
            "360824": "新干县",
            "340802": "迎江区",
            "340124": "庐江县",
            "620824": "华亭县",
            "210106": "铁西区",
            "640302": "利通区",
            "632522": "同德县",
            "431100": "永州",
            "331003": "黄岩区",
            "330304": "瓯海区",
            "513229": "马尔康县",
            "152201": "乌兰浩特市",
            "130502": "桥东区",
            "510121": "金堂县",
            "621102": "安定区",
            "331123": "遂昌县",
            "230881": "同江市",
            "510302": "自流井区",
            "441426": "平远县",
            "520324": "正安县",
            "530000": "云南",
            "460100": "海口市",
            "370406": "山亭区",
            "451324": "金秀县",
            "140802": "盐湖区",
            "320305": "贾汪区",
            "131100": "衡水",
            "440233": "新丰县",
            "542231": "隆子县",
            "610923": "宁陕县",
            "130602": "竞秀区",
            "152529": "正镶白旗",
            "451424": "大新县",
            "341623": "利辛县",
            "430482": "常宁市",
            "632001": "乐都区",
            "440882": "雷州市",
            "320300": "徐州",
            "410481": "舞钢市",
            "620400": "白银",
            "511133": "马边彝族自治县",
            "371428": "武城县",
            "450108": "良庆区",
            "130435": "曲周县",
            "140100": "太原",
            "441284": "四会市",
            "340400": "淮南市",
            "370500": "东营",
            "522325": "贞丰县",
            "500232": "武隆县",
            "411424": "柘城县",
            "211223": "西丰县",
            "431027": "桂东县",
            "820000": "澳门",
            "530630": "水富县",
            "360425": "永修县",
            "360924": "宜丰县",
            "441723": "阳东区",
            "513400": "凉山州",
            "431222": "沅陵县",
            "433124": "花垣县",
            "350181": "福清市",
            "421102": "黄州区",
            "410527": "内黄县",
            "532901": "大理市",
            "522732": "三都县",
            "210200": "大连",
            "330328": "文成县",
            "511028": "隆昌县",
            "513431": "昭觉县",
            "360500": "新余",
            "530324": "罗平县",
            "370105": "天桥区",
            "370802": "市中区",
            "210904": "太平区",
            "510802": "利州区",
            "610403": "杨陵区",
            "370827": "鱼台县",
            "230303": "恒山市",
            "445202": "榕城区",
            "330825": "龙游县",
            "220183": "德惠市",
            "542426": "申扎县",
            "530702": "古城区",
            "530624": "大关县",
            "360982": "樟树市",
            "130726": "蔚县",
            "220721": "前郭尔罗斯县",
            "110113": "顺义区",
            "320723": "灌云县",
            "511113": "金口河区",
            "511902": "巴州区",
            "210000": "辽宁",
            "220000": "吉林",
            "513434": "越西县",
            "350922": "古田县",
            "640521": "中宁县",
            "371700": "菏泽",
            "371525": "冠县",
            "341282": "界首市",
            "220800": "白城市",
            "222401": "延吉市",
            "130984": "河间市",
            "210124": "法库县",
            "621024": "合水县",
            "340200": "芜湖市",
            "430203": "芦淞区",
            "150205": "石拐区",
            "210682": "凤城市",
            "371623": "无棣县",
            "321101": "镇江",
            "341503": "裕安区",
            "230524": "饶河县",
            "150923": "商都县",
            "210304": "立山区",
            "341182": "明光市",
            "411325": "内乡县",
            "320831": "金湖县",
            "130622": "清苑区",
            "130721": "宣化县",
            "220524": "柳河县",
            "220211": "丰满区",
            "350481": "永安市",
            "653200": "和田地区",
            "542221": "乃东县",
            "222405": "龙井市",
            "450821": "平南县",
            "211481": "兴城市",
            "232701": "加格达奇区",
            "330106": "西湖区",
            "360830": "永新县",
            "150403": "元宝山区",
            "120105": "河北区",
            "140621": "山阴县",
            "460108": "美兰区",
            "361023": "南丰县",
            "141181": "孝义市",
            "530323": "师宗县",
            "340202": "镜湖区",
            "500116": "江津区",
            "331127": "景宁县",
            "360735": "石城县",
            "321283": "泰兴市",
            "513329": "新龙县",
            "340000": "安徽",
            "620702": "甘州区",
            "420103": "江汉区",
            "411300": "南阳",
            "513300": "甘孜",
            "450902": "玉州区",
            "130205": "开平区",
            "360424": "修水县",
            "361026": "宜黄县",
            "140423": "襄垣县",
            "650203": "克拉玛依区",
            "231202": "北林区",
            "410506": "龙安区",
            "130732": "赤城县",
            "320585": "太仓市",
            "341622": "蒙城县",
            "321012": "江都区",
            "620725": "山丹县",
            "370831": "泗水县",
            "530423": "通海县",
            "371602": "滨城区",
            "130621": "满城区",
            "230781": "铁力市",
            "130427": "磁县",
            "140121": "清徐县",
            "620522": "秦安县",
            "650100": "乌鲁木齐市",
            "510183": "邛崃市",
            "320611": "港闸区",
            "440883": "吴川市",
            "130728": "怀安县",
            "533100": "德宏州",
            "610203": "印台区",
            "370785": "高密市",
            "231281": "安达市",
            "130930": "孟村回族自治县",
            "450332": "恭城县",
            "621002": "西峰区",
            "130424": "成安县",
            "150626": "乌审旗",
            "141031": "隰县",
            "230202": "龙沙区",
            "610726": "宁强县",
            "511024": "威远县",
            "210303": "铁西区",
            "110108": "海淀区",
            "532932": "鹤庆县",
            "410502": "文峰区",
            "341821": "郎溪县",
            "210504": "明山区",
            "150928": "察哈尔右翼后旗",
            "340121": "长丰县",
            "411423": "宁陵县",
            "620923": "肃北县",
            "610582": "华阴市",
            "130202": "路南区",
            "610821": "神木县",
            "360826": "泰和县",
            "330503": "南浔区",
            "610922": "石泉县",
            "610824": "靖边县",
            "341221": "临泉县",
            "610502": "临渭区",
            "130523": "内丘县",
            "152526": "西乌珠穆沁",
            "430426": "祁东县",
            "230206": "富拉尔基区",
            "421081": "石首市",
            "150402": "红山区",
            "420107": "青山区",
            "130207": "丰南区",
            "341002": "屯溪区",
            "210802": "站前区",
            "110117": "平谷区",
            "513322": "泸定县",
            "451425": "天等县",
            "450321": "阳朔县",
            "540121": "林周县",
            "371082": "荣成市",
            "130923": "东光县",
            "360821": "吉安县",
            "510521": "泸县",
            "370102": "历下区",
            "140923": "代县",
            "140929": "岢岚县",
            "542624": "墨脱县",
            "140429": "武乡县",
            "500104": "大渡口区",
            "620823": "崇信县",
            "370125": "济阳县",
            "431230": "通道县",
            "441502": "城区",
            "441622": "龙川县",
            "450328": "龙胜县",
            "510131": "蒲江县",
            "211404": "南票区",
            "110112": "通州区",
            "621124": "临洮县",
            "210882": "大石桥市",
            "140105": "小店区",
            "320700": "连云港",
            "230404": "南山区",
            "150926": "察哈尔右翼前旗",
            "532329": "武定县",
            "350424": "宁化县",
            "361002": "临川区",
            "330702": "婺城区",
            "150700": "扎赉诺尔区",
            "350121": "闽侯县",
            "420682": "老河口市",
            "320200": "无锡",
            "140427": "壶关县",
            "420111": "洪山区",
            "542521": "普兰县",
            "500235": "云阳县",
            "640324": "同心县",
            "542500": "阿里",
            "450202": "城中区",
            "621121": "通渭县",
            "410711": "牧野区",
            "450222": "柳城县",
            "411121": "舞阳县",
            "130324": "卢龙县",
            "150223": "达尔罕旗",
            "542526": "改则县",
            "360800": "吉安",
            "140311": "郊区",
            "150623": "鄂托克前旗",
            "621026": "宁县",
            "140924": "繁峙县",
            "210602": "元宝区",
            "360323": "芦溪县",
            "371322": "郯城县",
            "632701": "玉树市",
            "131000": "廊坊",
            "513330": "德格县",
            "451025": "靖西县",
            "130724": "沽源县",
            "220102": "南关区",
            "231121": "嫩江县",
            "419001": "济源",
            "350102": "鼓楼区",
            "411321": "南召县",
            "610822": "府谷县",
            "350100": "福州",
            "511181": "峨眉山市",
            "622927": "积石山县",
            "532326": "大姚县",
            "441521": "海丰县",
            "530322": "陆良县",
            "220122": "农安县",
            "450221": "柳江县",
            "410822": "博爱县",
            "231222": "兰西县",
            "371427": "夏津县",
            "231025": "林口县",
            "532531": "绿春县",
            "360729": "全南县",
            "460107": "琼山区",
            "330203": "海曙区",
            "150125": "武川县",
            "530924": "镇康县",
            "431000": "郴州",
            "150000": "内蒙古",
            "370786": "昌邑市",
            "211003": "文圣区",
            "411527": "淮滨县",
            "510726": "北川县",
            "130903": "运河区",
            "370705": "奎文区",
            "220182": "榆树市",
            "520425": "紫云县",
            "140525": "泽州县",
            "500237": "巫山县",
            "371727": "定陶县",
            "532931": "剑川县",
            "542334": "亚东县",
            "429021": "神农架",
            "420104": "硚口区",
            "350629": "华安县",
            "330784": "永康市",
            "370687": "海阳市",
            "469027": "乐东县",
            "440112": "黄埔区",
            "540122": "当雄县",
            "141124": "临县",
            "210903": "新邱区",
            "370725": "昌乐县",
            "620403": "平川区",
            "341822": "广德县",
            "130426": "涉县",
            "210302": "铁东区",
            "621222": "文县",
            "430811": "武陵源区",
            "360100": "南昌",
            "360734": "寻乌县",
            "542425": "安多县",
            "450804": "覃塘区",
            "370200": "青岛",
            "650200": "克拉玛依市",
            "231083": "海林市",
            "513327": "炉霍县",
            "140981": "原平市",
            "340881": "桐城市",
            "321202": "海陵区",
            "220284": "磐石市",
            "611026": "柞水县",
            "441881": "英德市",
            "522632": "榕江县",
            "231123": "逊克县",
            "522624": "三穗县",
            "130321": "青龙县",
            "420321": "郧阳区",
            "451222": "天蛾县",
            "350206": "湖里区",
            "320111": "浦口区",
            "330103": "下城区",
            "445200": "揭阳市",
            "411025": "襄城县",
            "520522": "黔西县",
            "440514": "潮南区",
            "410926": "范县",
            "211321": "朝阳县",
            "150723": "鄂伦春自治旗",
            "370800": "济宁",
            "632825": "大柴旦行委",
            "371725": "郓城县",
            "430581": "武冈市",
            "420703": "华容区",
            "321111": "润州区",
            "340500": "马鞍山",
            "410324": "栾川县",
            "632826": "茫崖行委",
            "610428": "长武县",
            "530828": "澜沧县",
            "430221": "株洲县",
            "513430": "金阳县",
            "230710": "五营区",
            "610115": "临潼区",
            "411324": "镇平县",
            "430300": "湘潭",
            "513337": "稻城县",
            "230305": "梨树区",
            "371100": "日照",
            "542124": "类乌齐县",
            "450421": "苍梧县",
            "350800": "龙岩",
            "370612": "牟平区",
            "650107": "达坂城区",
            "410223": "尉氏县",
            "640323": "盐池县",
            "371625": "博兴县",
            "520322": "桐梓县",
            "130421": "邯郸县",
            "441700": "阳江市",
            "211081": "灯塔市",
            "210624": "宽甸满族自治县",
            "310109": "虹口区",
            "530111": "官渡区",
            "410821": "修武县",
            "510422": "盐边县",
            "620104": "西固区",
            "131128": "阜城县",
            "511681": "华蓥市",
            "540125": "堆龙德庆县",
            "420324": "竹溪县",
            "610202": "王益区",
            "230712": "汤旺河",
            "131028": "大厂回族自治县",
            "222426": "安图县",
            "510700": "绵阳",
            "610112": "未央区",
            "640424": "泾源县",
            "350782": "武夷山市",
            "222403": "敦化市",
            "433122": "泸溪县",
            "210803": "西市区",
            "420500": "宜昌市",
            "430204": "石峰区",
            "220103": "宽城区",
            "130425": "大名县",
            "511900": "巴中",
            "510822": "青川县",
            "360402": "庐山区",
            "610924": "紫阳县",
            "130637": "博野县",
            "530521": "施甸县",
            "130181": "辛集市",
            "140402": "城区",
            "421182": "武穴市",
            "430202": "荷塘区",
            "522630": "台江县",
            "441421": "梅县区",
            "610725": "勉县",
            "230711": "乌马河",
            "141130": "交口县",
            "441721": "阳西县",
            "320104": "秦淮区",
            "522723": "贵定县",
            "140110": "晋源区",
            "620122": "皋兰县",
            "140902": "忻府区",
            "542225": "琼结县",
            "513328": "甘孜县",
            "211322": "建平县",
            "320324": "睢宁县",
            "652122": "鄯善县",
            "510921": "蓬溪县",
            "422823": "巴东县",
            "420323": "竹山县",
            "130927": "南皮县",
            "370613": "莱山区",
            "522726": "独山县",
            "220702": "宁江区",
            "440229": "翁源县",
            "330600": "绍兴",
            "230203": "建华区",
            "141029": "乡宁县",
            "511425": "青神县",
            "500241": "秀山县",
            "640502": "沙坡头区",
            "522323": "普安县",
            "411502": "浉河区",
            "361022": "黎川县",
            "532621": "文山县",
            "510524": "叙永县",
            "520623": "石阡县",
            "410105": "金水区",
            "330621": "柯桥区",
            "360123": "安义县",
            "220502": "东昌区",
            "621200": "陇南",
            "530600": "昭通",
            "540124": "曲水县",
            "210102": "和平区",
            "420505": "猇亭区",
            "410928": "濮阳县",
            "321112": "丹徒区",
            "130230": "曹妃甸区",
            "150400": "赤峰市",
            "451123": "富川县",
            "511400": "眉山",
            "630104": "城西区",
            "321200": "泰州",
            "420102": "江岸区",
            "451122": "钟山县",
            "640300": "吴忠市",
            "230103": "南岗区",
            "610302": "渭滨区",
            "350304": "荔城区",
            "320582": "张家港市",
            "411523": "新县",
            "350583": "南安市",
            "420802": "东宝区",
            "610800": "榆林市",
            "610422": "三原县",
            "430121": "长沙县",
            "230183": "尚志市",
            "421200": "咸宁市",
            "542430": "尼玛县",
            "540000": "西藏",
            "430124": "宁乡县",
            "341824": "绩溪县",
            "150123": "和林格尔县",
            "330903": "普陀区",
            "140823": "闻喜县",
            "340604": "烈山区",
            "361130": "婺源县",
            "610621": "延长县",
            "610823": "横山县",
            "632525": "贵南县",
            "331124": "松阳县",
            "620100": "兰州",
            "150727": "新巴尔虎右旗",
            "420381": "丹江口市",
            "141024": "洪洞县",
            "130630": "涞源县",
            "220303": "铁东区",
            "140222": "天镇县",
            "370502": "东营区",
            "411100": "漯河",
            "360921": "奉新县",
            "411524": "商城县",
            "120110": "东丽区",
            "140202": "城区",
            "441303": "惠阳区",
            "141081": "侯马市",
            "451423": "龙州县",
            "530112": "西山区",
            "440784": "鹤山市",
            "522629": "剑河县",
            "411624": "沈丘县",
            "520600": "铜仁市",
            "230715": "红星区",
            "431021": "桂阳县",
            "361030": "广昌县",
            "451229": "大化县",
            "230124": "方正县",
            "131002": "安次区",
            "530427": "新平县",
            "230500": "双鸭山",
            "220882": "大安市",
            "513428": "普格县",
            "632524": "兴海县",
            "130631": "望都县",
            "621125": "漳县",
            "440811": "麻章区",
            "410811": "山阳区",
            "621224": "康县",
            "445102": "湘桥区",
            "140830": "芮城县",
            "610602": "宝塔区",
            "430623": "华容县",
            "450224": "融安县",
            "530421": "江川县",
            "222402": "图们市",
            "320312": "铜山区",
            "130929": "献县",
            "460106": "龙华区",
            "370685": "招远市",
            "411726": "泌阳县",
            "510525": "古蔺县",
            "533400": "迪庆州",
            "130628": "高阳县",
            "450103": "青秀区",
            "441600": "河源市",
            "542324": "定日县",
            "360732": "兴国县",
            "321284": "姜堰区",
            "330681": "诸暨市",
            "532523": "屏边县",
            "340825": "太湖县",
            "620623": "天祝藏族自治县",
            "441781": "阳春市",
            "440232": "乳源县",
            "451021": "田阳县",
            "430211": "天元区",
            "640522": "海原县",
            "330108": "滨江区",
            "422802": "利川市",
            "410482": "汝州市",
            "220203": "龙潭区",
            "130526": "任县",
            "130111": "栾城区",
            "511702": "通川区",
            "620102": "城关区",
            "431023": "永兴县",
            "330102": "上城区",
            "130802": "双桥区",
            "320302": "鼓楼区",
            "411700": "驻马店",
            "340222": "繁昌县",
            "410726": "延津县",
            "510502": "江阳区",
            "320922": "滨海县",
            "510922": "射洪县",
            "230622": "肇源县",
            "532925": "弥渡县",
            "530629": "威信县",
            "520625": "印江县",
            "532928": "永平县",
            "440785": "恩平市",
            "420528": "长阳县",
            "131122": "武邑县",
            "620821": "泾川县",
            "632500": "海南州",
            "421124": "英山县",
            "371426": "平原县",
            "620700": "张掖",
            "542322": "南木林县",
            "441826": "连南县",
            "623001": "合作市",
            "360400": "九江",
            "420281": "大冶市",
            "150621": "达拉特旗",
            "350403": "三元区",
            "410721": "新乡县",
            "210681": "东港市",
            "652123": "托克逊县",
            "140824": "稷山县",
            "130225": "乐亭县",
            "370782": "诸城市",
            "440705": "新会区",
            "210282": "普兰店市",
            "130803": "双滦区",
            "231024": "东宁县",
            "433101": "吉首市",
            "130924": "海兴县",
            "230304": "滴道区",
            "350111": "晋安区",
            "330322": "洞头区",
            "621223": "宕昌县",
            "150524": "库伦旗",
            "230400": "鹤岗",
            "532527": "泸西县",
            "440115": "南沙区",
            "371002": "环翠区",
            "220282": "桦甸市",
            "361127": "余干县",
            "120101": "和平区",
            "433126": "古丈县",
            "513222": "理县",
            "130423": "临漳县",
            "542126": "察雅县",
            "210727": "义县",
            "450502": "海城区",
            "610623": "子长县",
            "371311": "罗庄区",
            "210423": "清原满族自治县",
            "445300": "云浮市",
            "520112": "乌当区",
            "652100": "吐鲁番市",
            "140302": "城区",
            "500240": "石柱县",
            "410522": "安阳县",
            "330522": "长兴县",
            "620502": "秦州区",
            "440605": "南海区",
            "451281": "宜州市",
            "640205": "惠农区",
            "620111": "红古区",
            "542525": "革吉县",
            "411623": "商水县",
            "410725": "原阳县",
            "450700": "钦州",
            "441223": "广宁县",
            "330381": "瑞安市",
            "420525": "远安县",
            "370703": "寒亭区",
            "320802": "清河区",
            "141021": "曲沃县",
            "350802": "新罗区",
            "340603": "相山区",
            "542229": "加查县",
            "620902": "肃州区",
            "210281": "瓦房店市",
            "131124": "饶阳县",
            "230129": "延寿县",
            "522627": "天柱县",
            "330824": "开化县",
            "530628": "彝良县",
            "450122": "武鸣区",
            "152500": "锡林郭勒盟",
            "450126": "宾阳县",
            "130722": "张北县",
            "230381": "虎林市",
            "371102": "东港区",
            "632726": "曲麻莱县",
            "420921": "孝昌县",
            "451030": "西林县",
            "513433": "冕宁县",
            "530625": "永善县",
            "360923": "上高县",
            "350626": "东山县",
            "371202": "莱城区",
            "650121": "乌鲁木齐县",
            "130105": "新华区",
            "431022": "宜章县",
            "431202": "鹤城区",
            "530824": "景谷县",
            "340404": "谢家集区",
            "141100": "吕梁",
            "141000": "临汾",
            "450327": "灌阳县",
            "330682": "上虞区",
            "360724": "上犹县",
            "451000": "百色",
            "421125": "浠水县",
            "140522": "阳城县",
            "632323": "泽库县",
            "450304": "象山区",
            "411102": "源汇区",
            "120102": "河东区",
            "431226": "麻阳县",
            "410400": "平顶山",
            "510725": "梓潼县",
            "511824": "石棉县",
            "420115": "江夏区",
            "331021": "玉环县",
            "360731": "于都县",
            "341103": "南谯区",
            "610430": "淳化县",
            "350582": "晋江市",
            "532900": "大理州",
            "150822": "磴口县",
            "360222": "浮梁县",
            "341424": "和县",
            "469003": "儋州市",
            "320481": "溧阳市",
            "350823": "上杭县",
            "130827": "宽城县",
            "331024": "仙居县",
            "140829": "平陆县",
            "610124": "周至县",
            "350103": "台江区",
            "140927": "神池县",
            "130104": "桥西区",
            "341004": "徽州区",
            "440305": "南山区",
            "522700": "黔南州",
            "610622": "延川县",
            "440802": "赤坎区",
            "230523": "宝清县",
            "350428": "将乐县",
            "450802": "港北区",
            "131102": "桃城区",
            "330783": "东阳市",
            "410222": "通许县",
            "532800": "西双版纳州",
            "542424": "聂荣县",
            "429004": "仙桃市",
            "220204": "船营区",
            "510184": "崇州市",
            "210703": "凌河区",
            "220302": "铁西区",
            "330781": "兰溪市",
            "410182": "荥阳市",
            "340803": "大观区",
            "370405": "台儿庄区",
            "513226": "金川县",
            "511621": "岳池县",
            "210224": "长海县",
            "632801": "格尔木市",
            "450323": "灵川县",
            "430900": "益阳",
            "520300": "遵义",
            "622926": "东乡族自治县",
            "420504": "点军区",
            "140212": "新荣区",
            "320921": "响水县",
            "450500": "北海",
            "350505": "泉港区",
            "652200": "哈密地区",
            "360725": "崇义县",
            "350122": "连江县",
            "653125": "莎车县",
            "640100": "银川市",
            "340223": "南陵县",
            "440500": "汕头市",
            "230109": "松北区",
            "520102": "南明区",
            "520381": "赤水市",
            "411082": "长葛市",
            "371500": "聊城",
            "440000": "广东",
            "410425": "郏县",
            "410602": "鹤山区",
            "411323": "西峡县",
            "130826": "丰宁满族自治县",
            "361122": "广丰区",
            "230604": "让胡路区",
            "500103": "渝中区",
            "542127": "八宿县",
            "530829": "西盟县",
            "513436": "美姑县",
            "211400": "葫芦岛",
            "421202": "咸安区",
            "150823": "乌拉特前旗",
            "231005": "西安区",
            "542400": "那曲",
            "310104": "徐汇区",
            "321322": "沭阳县",
            "411222": "陕州区",
            "430626": "平江县",
            "610524": "合阳县",
            "360681": "贵溪市",
            "370400": "枣庄",
            "500106": "沙坪坝区",
            "152922": "阿拉善右旗",
            "623022": "卓尼县",
            "370881": "曲阜市",
            "150929": "四子王旗",
            "371726": "鄄城县",
            "210323": "岫岩满族自治县",
            "152200": "兴安盟",
            "420105": "汉阳区",
            "320482": "金坛区",
            "361123": "玉山县",
            "341203": "颍东区",
            "150425": "克什克腾旗",
            "130636": "顺平县",
            "510823": "剑阁县",
            "522636": "丹寨县",
            "140300": "阳泉",
            "152223": "扎赉特旗",
            "370522": "利津县",
            "150207": "九原区",
            "532622": "砚山县",
            "140800": "运城",
            "360926": "铜鼓县",
            "330105": "拱墅区",
            "410622": "淇县",
            "511703": "达川区",
            "211303": "龙城区",
            "340302": "龙子湖区",
            "140603": "平鲁区",
            "140882": "河津市",
            "150900": "乌兰察布",
            "330500": "湖州",
            "130532": "平乡县",
            "520122": "息烽县",
            "370203": "市北区",
            "320205": "锡山区",
            "440800": "湛江市",
            "653226": "于田县",
            "130581": "南宫市",
            "340824": "潜山县",
            "430523": "邵阳县",
            "371203": "钢城区",
            "130525": "隆尧县",
            "370682": "莱阳市",
            "130129": "赞皇县",
            "321282": "靖江市",
            "350603": "龙文区",
            "310101": "黄浦区",
            "230822": "桦南县",
            "320381": "新沂市",
            "310117": "松江区",
            "110229": "延庆县",
            "320206": "惠山区",
            "411224": "卢氏县",
            "411628": "鹿邑县",
            "340522": "含山县",
            "150726": "新巴尔虎左旗",
            "361121": "上饶县",
            "441624": "和平县",
            "350128": "平潭县",
            "320681": "启东市",
            "120104": "南开区",
            "410183": "新密市",
            "542133": "边坝县",
            "542200": "山南",
            "330523": "安吉县",
            "370283": "平度市",
            "450123": "隆安县",
            "460105": "秀英区",
            "130130": "无极县",
            "152501": "二连浩特市",
            "620000": "甘肃省",
            "513221": "汶川县",
            "220112": "双阳区",
            "220723": "乾安县",
            "330324": "永嘉县",
            "140481": "潞城市",
            "371324": "兰陵县",
            "230123": "依兰县",
            "410823": "武陟县",
            "360313": "湘东区",
            "632122": "民和县",
            "320412": "武进区",
            "520624": "思南县",
            "411328": "唐河县",
            "650106": "头屯河区",
            "610730": "佛坪县",
            "210781": "凌海市",
            "371702": "牡丹区",
            "360322": "上栗县",
            "220322": "梨树县",
            "130626": "定兴县",
            "340221": "芜湖县",
            "220700": "松原市",
            "513200": "阿坝",
            "120106": "红桥区",
            "500230": "丰都县",
            "460000": "海南",
            "513223": "茂县",
            "469006": "万宁市",
            "211402": "连山区",
            "231226": "绥棱县",
            "513432": "喜德县",
            "451481": "凭祥市",
            "520328": "湄潭县",
            "532503": "蒙自市",
            "469022": "屯昌县",
            "540126": "达孜县",
            "440604": "禅城区",
            "340322": "五河县",
            "630102": "城东区",
            "210500": "本溪",
            "420116": "黄陂区",
            "530402": "红塔区",
            "210800": "营口",
            "231223": "青冈县",
            "532532": "河口县",
            "440902": "茂南区",
            "469029": "保亭县",
            "630105": "城北区",
            "611021": "洛南县",
            "430721": "安乡县",
            "231004": "爱民区",
            "511300": "南充",
            "411521": "罗山县",
            "130204": "古冶区",
            "150300": "乌海市",
            "652700": "博尔塔拉州",
            "150200": "包头市",
            "130725": "尚义县",
            "441621": "紫金县",
            "421002": "沙市区",
            "420114": "蔡甸区",
            "420981": "应城市",
            "520382": "仁怀市",
            "331082": "临海市",
            "231124": "孙吴县",
            "632623": "甘德县",
            "620600": "武威",
            "370783": "寿光市",
            "410702": "红旗区",
            "621126": "岷县",
            "330110": "余杭区",
            "420624": "南漳县",
            "420506": "夷陵区",
            "320204": "北塘区",
            "150203": "昆都仑区",
            "220300": "四平市",
            "150921": "卓资县",
            "430902": "资阳区",
            "450204": "柳南区",
            "341226": "颍上县",
            "150781": "满洲里",
            "450603": "防城区",
            "230722": "嘉荫县",
            "210902": "海州区",
            "210100": "沈阳",
            "371523": "茌平县",
            "450921": "容县",
            "440983": "信宜市",
            "530602": "昭阳区",
            "130403": "丛台区",
            "350881": "漳平市",
            "530627": "镇雄县",
            "440403": "斗门区",
            "230714": "乌伊岭",
            "361027": "金溪县",
            "330727": "磐安县",
            "411024": "鄢陵县",
            "370213": "李沧区",
            "140211": "南郊区",
            "220622": "靖宇县",
            "152524": "苏尼特右旗",
            "530623": "盐津县",
            "450422": "藤县",
            "610828": "佳县",
            "411421": "民权县",
            "230904": "茄子河区",
            "450205": "柳北区",
            "370113": "长清区",
            "130402": "邯山区",
            "420684": "宜城市",
            "522631": "黎平县",
            "450107": "西乡塘区",
            "520325": "道真县",
            "513321": "康定市",
            "632725": "囊谦县",
            "440104": "越秀区",
            "620723": "临泽县",
            "652223": "伊吾县",
            "420626": "保康县",
            "341181": "天长市",
            "371321": "沂南县",
            "321084": "高邮市",
            "140321": "平定县",
            "420800": "荆门市",
            "152522": "阿巴嘎旗",
            "440606": "顺德区",
            "330400": "嘉兴",
            "620500": "天水",
            "611022": "丹凤县",
            "411400": "商丘",
            "540127": "墨竹工卡县",
            "520500": "毕节市",
            "370126": "商河县",
            "410306": "吉利区",
            "410221": "杞县",
            "360925": "靖安县",
            "441422": "大埔县",
            "522328": "安龙县",
            "411727": "汝南县",
            "411525": "固始县",
            "230826": "桦川县",
            "530426": "峨山县",
            "520521": "大方县",
            "620103": "七里河区",
            "310107": "普陀区",
            "140226": "左云县",
            "632523": "贵德县",
            "450722": "浦北区",
            "410883": "孟州市",
            "520000": "贵州",
            "360430": "彭泽县",
            "330283": "奉化市",
            "450400": "梧州",
            "640221": "平罗县",
            "433130": "龙山县",
            "610729": "留坝县",
            "370724": "临朐县",
            "420325": "房县",
            "340323": "固镇县",
            "150981": "丰镇市",
            "630123": "湟源县",
            "350123": "罗源县",
            "131127": "景县",
            "370323": "沂源县",
            "220381": "公主岭市",
            "610631": "黄龙县",
            "371081": "文登区",
            "522601": "凯里市",
            "150526": "扎鲁特旗",
            "610521": "华县",
            "420112": "东西湖区",
            "411122": "临颍县",
            "131022": "固安县",
            "659001": "石河子市",
            "130800": "承德",
            "640500": "中卫市",
            "430382": "韶山市",
            "440307": "龙岗区",
            "110101": "东城区",
            "440823": "遂溪县",
            "230321": "鸡东县",
        }
        id_code_list = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
        check_code_list = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2]
        area_code = random.choice(list(area_dict.keys()))
        age = random.randint(1, 99)  # 年龄
        gender = random.randint(0, 1)  # 0-女性 1-男性
        date_string = str(
            date(date.today().year - age, 1, 1) + timedelta(days=random.randint(0, 364))
        ).replace("-", "")
        rd = random.randint(0, 999)
        if gender == 0:
            gender_num = rd if rd % 2 == 0 else rd + 1
        else:
            gender_num = rd if rd % 2 == 1 else rd - 1
        result = str(area_code) + date_string + str(gender_num).zfill(3)
        return result + str(
            check_code_list[
                sum([a * b for a, b in zip(id_code_list, [int(a) for a in result])])
                % 11
            ]
        )

    @staticmethod
    def random_email(email_type=None, rang=None) -> str:
        """
        说明:
            生成邮箱
        :return: str
        """
        _email_type = [
            "@qq.com",
            "@163.com",
            "@126.com",
            "@outlook.com",
            "@gmail.com",
            "@yahoo.com",
            "@sina.com",
            "@sohu.com",
        ]
        # 如果没有指定邮箱类型，默认在 _email_type 中随机一个
        if email_type is None:
            _random_email = random.choice(_email_type)
        else:
            _random_email = email_type
        # 如果没有指定邮箱长度，默认在4-10之间随机
        if rang is None:
            _rang = random.randint(4, 10)
        else:
            _rang = int(rang)
        _number = "0123456789qbcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPWRSTUVWXYZ"
        _random_number = "".join(random.choice(_number) for _ in range(_rang))
        _email = _random_number + _random_email
        return _email

    @staticmethod
    def random_ip_adress() -> str:
        """
        说明:
            生成IP地址
        :return: str
        """
        return ".".join(str(random.randint(1, 254)) for _ in range(4))

    @staticmethod
    def make_archive(base_name: str, format: str = "zip", root_dir=None) -> str:
        """
        说明：
            压缩指定文件夹\目录
        :param base_name: 压缩后文件名\路径
        :param format: 压缩格式 "zip", "tar", "bztar", "gztar"
        :param root_dir: 被压缩目录
        :return: 压缩后文件路径
        """
        return shutil.make_archive(
                    base_name=base_name,
                    format=format,
                    root_dir=root_dir
               )

    @staticmethod
    def unpack_archive(filename: str, extract_dir=None, format=None) -> NoReturn:
        """
        说明：
            解压指定文件

        注意：
            如果解压的是zip文件，且压缩文件中包含中文，请务必先删除原解压后的文件。
            如果是第一次解压，无需处理

        :param filename: 待解压文件名\路径
        :param extract_dir: 解压到指定目录
        :param format: 解压格式，如果未指定则取压缩文件的后缀名格式
        """
        shutil.unpack_archive(
            filename=filename,
            extract_dir=extract_dir,
            format=format
        )
        suffix = shutil._find_unpack_format(filename=filename)
        if suffix == 'zip':
            # 对于zip压缩文件，如果压缩文件中有中文会乱码，下面会进一步处理
            zip_path = Path(filename)
            extract_dir_path = Path(extract_dir)  # 解压后目录Path对象
            extract_dst_dir_name = zip_path.name.split('.zip')[0]  # 解压后的目录名
            extract_dst_dir = os.path.join(extract_dir_path.__str__(), extract_dst_dir_name)  # 解压后的目录路径
            tmp_extract_dst_dir = os.path.join(extract_dir_path.__str__(), extract_dst_dir_name + '_tmp')  # 临时目录路径
            tmp_extract_dst_dir_path = Path(tmp_extract_dst_dir)
            os.rename(extract_dst_dir, tmp_extract_dst_dir)  # 为解压后的目录重命名为临时目录
            os.mkdir(extract_dst_dir)  # 重新创建一个新的解压目录
            tmp_extract_dst_path_list = list(tmp_extract_dst_dir_path.rglob('*'))  # 从顶层目录向深级目录遍历
            for p in tmp_extract_dst_path_list:
                new_name = p.__str__().encode('cp437').decode('gbk')
                new_path = os.path.join(extract_dst_dir, os.sep.join(new_name.split(tmp_extract_dst_dir)[-1].split(os.sep)[1:]))
                # 如果遍历到的是目录的话则在新解压目录中创建，如果是文件的话直接会rename新的目录下
                if p.is_dir():
                    os.mkdir(new_path)
                else:
                    p.rename(new_path)
            shutil.rmtree(tmp_extract_dst_dir)

    @staticmethod
    def get_value_from_json_dict(obj, key):
        ret = []

        def _get_value_from_json_dict(_obj, _key):
            if isinstance(_obj, list):
                for _i in _obj:
                    _get_value_from_json_dict(_i, _key)
            elif isinstance(_obj, dict):
                for _k, _v in _obj.items():
                    if _k == _key:
                        ret.append(_v)
                    else:
                        _get_value_from_json_dict(_v, _key)
            else:
                return

        _get_value_from_json_dict(obj, key)

        return ret


def monitor_run_timeout(fn, timeout: int = 10, timeout_message: str=""):
    """
        说明：对于假死的线程，无法直接使用多线程/多进程的超时时间(timeout)控制
            至少目前发现ThreadPoolExecutor Executor.map() 传入timeout无法控制，依然会再子线程/子进程中超时

            目前使用的方式是，判断子线程/进程的执行时间（通过future的running状态时间），如果超过时间，则在主线程抛出异常

    :param fn: 需要监控的方法
    :param timeout: 超时时间
    :param timeout_message: 超时报错信息
    :return: 如果没有超时 返回fn执行结果
    """
    executor = ThreadPoolExecutor(1)
    start_time = time.time()
    future = executor.submit(fn)
    # future.add_done_callback(fn_done) future执行完毕后的回调，fn_done函数参数为future(必传)

    while future.running():  # 如果future线程/进程还在执行
        run_time = time.time() - start_time
        if run_time > timeout:
            if not str.strip(timeout_message):
                raise TimeoutError("运行超时...")
            else:
                raise TimeoutError(timeout_message)
    return future.result()


class ParseXml(object):
    """
        解析xml
        注意：保存时无法保存注释
    """
    def __init__(self, filepath: str):
        self.filepath = filepath
        self._tree = ET.parse(self.filepath)

    def get_value_from_xpath(self, xpath: str, attribute: str) -> Union[str, None]:
        """
        说明：
            通过xpath定位到节点，返回指定属性的值
        :param xpath: xpath定位语句
        :param attribute: 属性名
        :return: 指定节点的属性值
        :type: str or None
        """
        self._refresh()
        ele = self.root.find(xpath)
        return ele.attrib.get(attribute, None)

    def set_value_from_xpath(self, xpath: str, attribute: str, value: str) -> None:
        """
        说明:
            通过xpath定位到节点，并设置指定节点的属性值
        :param xpath: xpath定位语句
        :param attribute: 属性名
        :param value: 指定节点的属性值
        :return: None
        """
        self._refresh()
        ele = self.root.find(xpath)
        ele.set(attribute, value)
        self._tree.write(self.filepath, encoding='UTF-8', xml_declaration=True, method='xml')

    def _refresh(self):
        """
        说明：
            重新在内存加载最新的文件
        :return:
        """
        self._tree = ET.parse(self.filepath)

    def _get_root(self):
        """
        说明：
            返回xml文件的根节点
        :return: 根节点对象
        :rtype: <class 'Element'>
        """
        self._refresh()
        return self._tree.getroot()

    root = property(fget=_get_root, doc="获取root节点")
